PowerShell Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ

ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌ с PowerShell, ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π΅Ρ‰ΠΎ, с ΠΊΠΎΠ΅Ρ‚ΠΎ сС сблъсквамС, са ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ (Cmdlet).
Π˜Π·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

Π“Π»Π°Π³ΠΎΠ»-Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»Π½ΠΎ -ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€1 ВипБтойност1 -ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€2 ВипБтойност2[]

ΠŸΠΎΠΌΠΎΡ‰

Π˜Π·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ Π² PowerShell става Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Get-Help. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅: example, detailed, full, online, showWindow.

Get-Help Get-Service -full Ρ‰Π΅ Π²ΡŠΡ€Π½Π΅ пълно описаниС Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Get-Service
Get-Help Get-S* Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ всички Π½Π°Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‰ΠΈ с Get-S*

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π½Π° официалния сайт Π½Π° Microsoft ΠΈΠΌΠ° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° докумСнтация.

Π•Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Get-Evenlog

PowerShell Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ

Ако ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ са Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΈ скобки [], Ρ‚Π΅ са Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ.
ВоСст Π² Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ самото Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π° ΠΆΡƒΡ€Π½Π°Π»Π° Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ, Π° ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π½Π΅ Π΅. Ако Ρ‚ΠΈΠΏΡŠΡ‚ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° ΠΈ ΠΈΠΌΠ΅Ρ‚ΠΎ ΠΌΡƒ са Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π·Π°Π΅Π΄Π½ΠΎ Π² скобки, Ρ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ Π΅ Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½.

Ако ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° EntryType, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ стойноститС, ΠΊΠΎΠΈΡ‚ΠΎ са Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΈ скобки. Π—Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ само ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ стойности Π² Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΈ скобки.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΡ‚Π° Π·Π° Ρ‚ΠΎΠ²Π° Π΄Π°Π»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π² описаниСто ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Π² ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Required. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎ-Π³ΠΎΡ€Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΡŠΡ‚ After Π΅ Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎ Required стои false. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Position, Π΄ΠΎ ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ написано Named. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ΠΌ към ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° само ΠΏΠΎ ΠΈΠΌΠ΅, тоСст:

Get-EventLog -LogName Application -After 2020.04.26

Въй ΠΊΠ°Ρ‚ΠΎ Π·Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° LogName вмСсто Named Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ числото 0, Ρ‚ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° сС ΠΎΠ±ΡŠΡ€Π½Π΅ΠΌ към ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π±Π΅Π· ΠΈΠΌΠ΅, Π° само ΡƒΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ Π³ΠΎ Π² Π½ΡƒΠΆΠ½Π°Ρ‚Π° послСдоватСлност:

Get-EventLog Application -After 2020.04.26

Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ ΠΈ Ρ‚Π°ΠΊΡŠΠ² Ρ€Π΅Π΄:

Get-EventLog -Newest 5 Application

ПсСвдоним

Π—Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎΡ‚ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π² PowerShell, ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ псСвдоними (Alias).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° псСвдоним Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Set-Location Π΅ cd.

ВоСст вмСсто Π΄Π° ΠΈΠ·Π²ΠΈΠΊΠ°ΠΌΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°

Set-Location β€œD:”

ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅

cd β€œD:”

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ

Π—Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ историята Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Get-History

Π˜Π·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ историята Invoke-History 1; Invoke-History 2

Π˜Π·Ρ‡ΠΈΡΡ‚Π΅Ρ‚Π΅ историята Clear-History

Pipeline

Пайплайн Π² PowerShell Π΅, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° функция сС ΠΏΡ€Π΅Π΄Π°Π²Π° Π½Π° Π²Ρ‚ΠΎΡ€Π°Ρ‚Π°. Π•Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°:

Get-Verb | Measure-Object

Но Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°, Π΄Π° Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΠΎ-прост ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Има ΠΊΠΎΠΌΠ°Π½Π΄Π°

Get-Verb "get"

Ако ΠΈΠ·Π²ΠΈΠΊΠ°ΠΌΠ΅ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Get-Help Get-Verb -Full, Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ Verb ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π²Ρ…ΠΎΠ΄ ΠΎΡ‚ pipline ΠΈ Π² скобитС Π΅ написано ByValue.

PowerShell Π·Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ

Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€Π΅Π½Π°ΠΏΠΈΡˆΠ΅ΠΌ Get-Verb Β«getΒ» Π½Π° Β«getΒ» | Get-Verb.
ВоСст, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ изразяванС Π΅ стринг, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΡ€Π΅Π΄Π°Π²Π° Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Verb Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Get-Verb Ρ‡Ρ€Π΅Π· pipline input ΠΏΠΎ стойност.
Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, pipline input ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ByPropertyName. Π’ Ρ‚ΠΎΠ·ΠΈ случай Ρ‰Π΅ ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΌΠ΅ ΠΎΠ±Π΅ΠΊΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° свойство с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° Verb.

ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ

ΠŸΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π΅ са строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΈ сС Π·Π°Π΄Π°Π²Π°Ρ‚ с символа $ ΠΏΡ€Π΅Π΄ΠΈ тях.

$example = 4

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŠΡ‚ > ΠΎΠ·Π½Π°Ρ‡Π°Π²Π° Π΄Π° поставим Π΄Π°Π½Π½ΠΈ Π²
НапримСр, $example > File.txt
Π‘ Ρ‚ΠΎΠ²Π° изразяванС Ρ‰Π΅ помСстим Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° $example Π² Ρ„Π°ΠΉΠ»Π°.
Аналогично Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Set-Content -Value $example -Path File.txt.

Масиви

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° масив:

$ArrayExample = @(β€œFirst”, β€œSecond”)

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° ΠΏΡ€Π°Π·Π΅Π½ масив:

$ArrayExample = @()

Π’Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° стойност ΠΏΠΎ индСкс:

$ArrayExample[0]

ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° цСлия масив:

$ArrayExample

ДобавянС Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚:

$ArrayExample += β€œThird”

$ArrayExample += @(β€œFourth”, β€œFifth”)

Π‘ΠΎΡ€Ρ‚ΠΈΡ€Π°Π½Π΅:

$ArrayExample | Sort

$ArrayExample | Sort -Descending

Но самият масив остава Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠ°Π²Π° сортиранС. И Π°ΠΊΠΎ искамС Π² масива Π΄Π° ΠΈΠΌΠ° сортирани Π΄Π°Π½Π½ΠΈ, трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ присвояванС Π½Π° сортиранитС стойности:

$ArrayExample = $ArrayExample | Sort

Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π² PowerShell няма опСрация Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ масив, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π° ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

$ArrayExample = $ArrayExample | where { $_ -ne β€œFirst” }

$ArrayExample = $ArrayExample | where { $_ -ne $ArrayExample[0] }

Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π½Π° масив:

$ArrayExample = $null

Π¦ΠΈΠΊΠ»ΠΈ

Бинтаксис Π½Π° Ρ†ΠΈΠΊΠ»ΠΈ:

for($i = 0; $i -lt 5; $i++){}

$i = 0
while($i -lt 5){}

$i = 0
do{} while($i -lt 5)

$i = 0
do{} until($i -lt 5)

ForEach($item in $items){}

Π˜Π·Ρ…ΠΎΠ΄ ΠΎΡ‚ Ρ†ΠΈΠΊΡŠΠ» break.

ΠŸΡ€ΠΎΠΏΡƒΡΠΊ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ continue.

Условни ΠΈΠ·Ρ€Π°Π·ΠΈ

if () {} elseif () {} else

switch($someIntValue){
  1 { β€œOption 1” }
  2 { β€œOption 2” }
  default { β€œNot set” }
}

Ѐункция

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° функция:

function Example () {
  echo &args
}

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° функция:

Example β€œFirst argument” β€œSecond argument”

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ във функция:

function Example () {
  param($first, $second)
}

function Example ($first, $second) {}

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° функция:

Example -first β€œFirst argument” -second β€œSecond argument”

Π˜Π·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster