PowerShell ืคึฟืึทืจ ื‘ื™ื’ื™ื ืขืจื–

ื•ื•ืขืŸ ืื™ืจ ืึทืจื‘ืขื˜ ืžื™ื˜ PowerShell, ื“ืขืจ ืขืจืฉื˜ืขืจ ื–ืึทืš ื•ื•ืึธืก ืžื™ืจ ื˜ืจืขืคืŸ ืื™ื– ืงืึทืžืึทื ื“ื– (Cmdlets).
ื“ืขืจ ื‘ืึทืคึฟืขืœ ืจื•ืคืŸ ืงื•ืงื˜ ื•ื•ื™ ื“ืึธืก:

Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]

ื”ื™ืœืฃ

ื”ื™ืœืฃ ืื™ื– ืึทืงืกืขืกื˜ ืื™ืŸ PowerShell ื ื™ืฆืŸ ื“ื™ ื‘ืึทืงื•ืžืขืŸ-ื”ื™ืœืฃ ื‘ืึทืคึฟืขืœ. ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืคึผืึทืจืึทืžืขื˜ืขืจืก: ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื™ื˜ื™ื™ืœื“, ืคื•ืœ, ืึธื ืœื™ื™ืŸ, ื•ื•ื™ื™ึทื–ืŸ ื•ื•ื™ื ื“ืึธื•ื•.

Get-Help Get-Service -full ื•ื•ืขื˜ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ืคื•ืœ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื•ื•ื™ ื“ื™ Get-Service ื‘ืึทืคึฟืขืœ ืึทืจื‘ืขื˜
Get-Help Get-S* ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืึทืœืข ื‘ื ื™ืžืฆื ืงืึทืžืึทื ื“ื– ืื•ืŸ ืคืึทื ื’ืงืฉืึทื ื– ืกื˜ืึทืจื˜ื™ื ื’ ืžื™ื˜ Get-S*

ืขืก ืื™ื– ืื•ื™ืš ื“ื™ื˜ื™ื™ืœื“ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ื™ืฃ ื“ืขืจ ื‘ืึทืึทืžื˜ืขืจ ืžื™ืงืจืึธืกืึธืคื˜ ื•ื•ืขื‘ื–ื™ื™ื˜ืœ.

ื“ืึธ ืื™ื– ืึท ื‘ื™ื™ืฉืคึผื™ืœ ื”ื™ืœืฃ ืคึฟืึทืจ ื“ื™ Get-Evenlog ื‘ืึทืคึฟืขืœ

PowerShell ืคึฟืึทืจ ื‘ื™ื’ื™ื ืขืจื–

ืื•ื™ื‘ ืคึผืึทืจืึทืžืขื˜ืขืจืก ื–ืขื ืขืŸ ืขื ืงืœืึธื•ื–ื“ ืื™ืŸ ืงื•ื•ืึทื“ืจืึทื˜ ื‘ืจืึทืงืึทืฅ [], ื–ื™ื™ ื–ืขื ืขืŸ ืึทืคึผืฉืึทื ืึทืœ.
ืึทื– ืื™ื–, ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ืขื ื–ืฉื•ืจื ืึทืœ ื–ื™ืš ืื™ื– ืžืึทื ื“ืึทื˜ืึธืจื™, ืื•ืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ืคึผืึทืจืึทืžืขื˜ืขืจ ื ื™ื™ืŸ. ืื•ื™ื‘ ื“ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ ื˜ื™ืคึผ ืื•ืŸ ื–ื™ื™ืŸ ื ืึธืžืขืŸ ื–ืขื ืขืŸ ืขื ืงืœืึธื•ื–ื“ ืื™ืŸ ืงืœืึทืžืขืจืŸ ืฆื•ื–ืึทืžืขืŸ, ื“ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ ืื™ื– ืึทืคึผืฉืึทื ืึทืœ.

ืื•ื™ื‘ ืื™ืจ ืงื•ืง ืื™ืŸ ื“ื™ EntryType ืคึผืึทืจืึทืžืขื˜ืขืจ, ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื“ื™ ื•ื•ืึทืœื•ืขืก ื•ื•ืึธืก ื–ืขื ืขืŸ ืขื ืงืœืึธื•ื–ื“ ืื™ืŸ ื’ืขื’ืจื™ื™ึทื–ืœื˜ ื‘ืจื™ื™ืกืึทื–. ืคึฟืึทืจ ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ, ืžื™ืจ ืงืขื ืขืŸ ื‘ืœื•ื™ื– ื ื•ืฆืŸ ืคึผืจืขื“ืขืคื™ื ืขื“ ื•ื•ืึทืœื•ืขืก ืื™ืŸ ื’ืขื’ืจื™ื™ึทื–ืœื˜ ื‘ืจื™ื™ืกืึทื–.

ืžื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืฆื™ ื“ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ ืื™ื– ืคืืจืœืื ื’ื˜ ืื™ืŸ ื“ื™ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืื•ื ื˜ืŸ ืื™ืŸ ื“ื™ ืคืืจืœืื ื’ื˜ ืคืขืœื“. ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ ืื•ื™ื‘ืŸ, ื“ื™ ื ืึธืš ืึทื˜ืจื™ื‘ื™ื•ื˜ ืื™ื– ืึทืคึผืฉืึทื ืึทืœ ื•ื•ื™ื™ึทืœ ืคืืจืœืื ื’ื˜ ืื™ื– ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• ืคืึทืœืฉ. ื•ื•ื™ื™ึทื˜ืขืจ ืžื™ืจ ื–ืขืŸ ื“ื™ ืฉื˜ืขืœืข ืคืขืœื“ ืคืึทืจืงืขืจื˜ ื•ื•ืึธืก ื–ืื’ื˜ ื’ืขื”ื™ื™ืกืŸ. ื“ืขื ืžื™ื˜ืœ ืึทื– ื“ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทืงืกืขืกื˜ ื‘ืœื•ื™ื– ื“ื•ืจืš ื ืึธืžืขืŸ, ื“ืึธืก ืื™ื–:

Get-EventLog -LogName Application -After 2020.04.26

ื–ื™ื ื˜ ื“ื™ ืœืึธื’ื ืึทืžืข ืคึผืึทืจืึทืžืขื˜ืขืจ ื”ืื˜ ื“ื™ ื ื•ืžืขืจ 0 ืกืคึผืขืกื™ืคื™ืขื“ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื’ืขื”ื™ื™ืกืŸ, ื“ืึธืก ืžื™ื˜ืœ ืึทื– ืžื™ืจ ืงืขื ืขืŸ ืึทืงืกืขืก ื“ืขื ืคึผืึทืจืึทืžืขื˜ืขืจ ืึธืŸ ืึท ื ืึธืžืขืŸ, ืึธื‘ืขืจ ื“ื•ืจืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืขืก ืื™ืŸ ื“ื™ ืคืืจืœืื ื’ื˜ ืกื™ืงื•ื•ืึทื ืก:

Get-EventLog Application -After 2020.04.26

ืœืึธืžื™ืจ ื ืขืžืขืŸ ื“ืขื ืกื“ืจ:

Get-EventLog -Newest 5 Application

ืึทืœื™ืึทืก

ืึทื–ื•ื™ ืึทื– ืžื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื‘ืึทืงืึทื ื˜ ืงืึทืžืึทื ื“ื– ืคื•ืŸ ื“ื™ ืงืึทื ืกืึธื•ืœ, PowerShell ื”ืื˜ ื™ื™ืœื™ืึทืกื™ื– (ืึทืœื™ืึทืก).

ืึท ื‘ื™ื™ืฉืคึผื™ืœ ืึทืœื™ืึทืก ืคึฟืึทืจ ื“ื™ ืฉื˜ืขืœืŸ-ืึธืจื˜ ื‘ืึทืคึฟืขืœ ืื™ื– cd.

ืึทื– ืื™ื–, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืจื•ืคืŸ ื“ื™ ื‘ืึทืคึฟืขืœ

Set-Location โ€œD:โ€

ืžื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ

cd โ€œD:โ€

ื’ืขืฉื™ื›ื˜ืข

ืฆื• ื–ืขืŸ ื“ื™ ื’ืขืฉื™ื›ื˜ืข ืคื•ืŸ โ€‹โ€‹ื‘ืึทืคึฟืขืœืŸ ืงืึทืœืœืก, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ Get-History

ื•ื™ืกืคื™ืจืŸ ื‘ืึทืคึฟืขืœ ืคื•ืŸ ื’ืขืฉื™ื›ื˜ืข ื™ื ื•ื•ืึธื•ืงืข-ื’ืขืฉื™ื›ื˜ืข 1; ืึธื ืจื•ืคืŸ-ื’ืขืฉื™ื›ื˜ืข 2

ืงืœืึธืจ ื’ืขืฉื™ื›ื˜ืข ืงืœืึธืจ-ื’ืขืฉื™ื›ื˜ืข

ืจืขืจื  - ืœื™ื ื™ืข

ื ืจืขืจื  - ืœื™ื ื™ืข ืื™ืŸ ืคึผืึธื•ื•ืขืจืฉืขืœ ืื™ื– ื•ื•ืขืŸ ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืคึฟื•ื ืงืฆื™ืข ืื™ื– ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืฆื• ื“ื™ ืจื’ืข. ื“ืึธ ืื™ื– ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ื ื™ืฆืŸ ื“ื™ ืจืขืจื  - ืœื™ื ื™ืข:

Get-Verb | Measure-Object

ืื‘ืขืจ ืฆื• ื‘ืขืกืขืจ ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื“ื™ ืจืขืจื  - ืœื™ื ื™ืข, ืœืึธื–ืŸ ืื•ื ื“ื– ื ืขืžืขืŸ ืึท ืกื™ืžืคึผืœืขืจ ื‘ื™ื™ึทืฉืคึผื™ืœ. ืขืก ืื™ื– ืึท ืงืึธืœืขืงื˜ื™ื•ื•

Get-Verb "get"

ืื•ื™ื‘ ืžื™ืจ ืจื•ืคืŸ ื“ื™ Get-Help Get-Verb -Full ื”ื™ืœืฃ, ืžื™ืจ ื•ื•ืขืœืŸ ื–ืขืŸ ืึทื– ื“ื™ ื•ื•ืขืจื‘ ืคึผืึทืจืึทืžืขื˜ืขืจ ืึทืงืกืขืคึผืฅ ืคึผื™ืคึผืœื™ื ืข ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืื•ืŸ ByValue ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ืงืœืึทืžืขืจืŸ.

PowerShell ืคึฟืึทืจ ื‘ื™ื’ื™ื ืขืจื–

ื“ืึธืก ืžื™ื™ื ื˜ ืึทื– ืžื™ืจ ืงืขื ืขืŸ ื™ื‘ืขืจืฉืจื™ื™ื‘ืŸ ื‘ืึทืงื•ืžืขืŸ-ื•ื•ืขืจื‘ "ื‘ืึทืงื•ืžืขืŸ" ืฆื• "ื‘ืึทืงื•ืžืขืŸ" | ื‘ืึทืงื•ืžืขืŸ-ื•ื•ืขืจื‘.
ืึทื– ืื™ื–, ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ืื•ื™ืกื“ืจื•ืง ืื™ื– ืึท ืฉื˜ืจื™ืงืœ ืื•ืŸ ืขืก ืื™ื– ื“ื•ืจื›ื’ืขื’ืื ื’ืขืŸ ืฆื• ื“ื™ ื•ื•ืขืจื‘ ืคึผืึทืจืึทืžืขื˜ืขืจ ืคื•ืŸ ื“ื™ Get-Verb ื‘ืึทืคึฟืขืœ ื“ื•ืจืš ืคึผื™ืคึผืœื™ื ืข ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื“ื•ืจืš ื•ื•ืขืจื˜.
ืื•ื™ืš ืคึผื™ืคึผืœื™ื ืข ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืงืขื ืขืŸ ื–ื™ื™ืŸ ByPropertyName. ืื™ืŸ ื“ืขื ืคืึทืœ, ืžื™ืจ ื•ื•ืขืœืŸ ืคืึธืจืŸ ืึท ื›ื™ื™ืคืขืฅ ื•ื•ืึธืก ื”ืื˜ ืึท ืคืึทืจืžืึธื’ ืžื™ื˜ ืึท ืขื ืœืขืš ื ืึธืžืขืŸ ื•ื•ืขืจื‘.

ื•ื•ืขืจื™ืึทื‘ืึทืœื–

ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื–ืขื ืขืŸ ื ื™ืฉื˜ ืฉื˜ืืจืง ื˜ื™ื™ืคึผื˜ ืื•ืŸ ื–ืขื ืขืŸ ืกืคึผืขืกื™ืคื™ืขื“ ืžื™ื˜ ืึท $ ืกื™ืžื‘ืึธืœ ืื™ืŸ ืคืจืึธื ื˜

$example = 4

ื“ืขืจ > ืกื™ืžื‘ืึธืœ ืžื™ื˜ืœ ืฉื˜ืขืœืŸ ื“ืึทื˜ืŸ ืื™ืŸ
ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, $ ื‘ื™ื™ึทืฉืคึผื™ืœ > File.txt
ืžื™ื˜ ื“ืขื ืื•ื™ืกื“ืจื•ืง ืžื™ืจ ืฉื˜ืขืœืŸ ื“ื™ ื“ืึทื˜ืŸ ืคื•ืŸ ื“ื™ $ ื‘ื™ื™ืฉืคึผื™ืœ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ืึท ื˜ืขืงืข
ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื•ื•ื™ ื‘ืึทืฉื˜ืขื˜ื™ืง-ืื™ื ื”ืึทืœื˜ -ื•ื•ืึทืœื•ืข $ ื‘ื™ื™ึทืฉืคึผื™ืœ -Path File.txt

Arrays

ืžืขื ื’ืข ื™ื ื™ื˜ื™ืึทืœื™ื–ืึทื˜ื™ืึธืŸ:

$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){}

ืึทืจื•ื™ืกื’ืึทื ื’ ืคื•ืŸ ื“ื™ ื‘ืจืขื›ืŸ ืฉืœื™ื™ืฃ.

ืึธืžื™ื˜ื™ื ื’ ื“ื™ ืคืึธืจื–ืขืฆืŸ ืขืœืขืžืขื ื˜.

ืงืึทื ื“ื™ืฉืึทื ืึทืœ ืกื˜ืึทื˜ืขืžืขื ืฅ

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{
}

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’