ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ PowerShell ΠΏΠ΅ΡΠ²ΠΎΠ΅ Ρ ΡΠ΅ΠΌ ΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Cmdlet).
ΠΡΠ·ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
Help
ΠΡΠ·ΠΎΠ² ΡΠΏΡΠ°Π²ΠΊΠΈ Π² PowerShell ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Get-Help. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²: example, detailed, full, online, showWindow.
Get-Help Get-Service -full Π²Π΅ΡΠ½Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Get-Service
Get-Help Get-S* ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ Get-S*
Π’Π°ΠΊΠΆΠ΅ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Microsoft Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Get-Evenlog
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ [], ΡΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ.
Π’ΠΎ Π΅ΡΡΡ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
ΠΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ 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
Alias
Π§ΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π² PowerShell Π΅ΡΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ (Alias).
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Set-Location ΡΠ²Π»ΡΠ΅ΡΡΡ cd.
Π’ΠΎ Π΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Set-Location βD:β
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
cd βD:β
History
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 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 input ΠΈ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ByValue.
ΠΡΠΎ Π·Π½Π°ΡΠΈΡ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Get-Verb Β«getΒ» Π½Π° Β«getΒ» | Get-Verb.
Π’ΠΎ Π΅ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠΎ ΡΡΡΠΎΠΊΠ° ΠΈ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Verb ΠΊΠΎΠΌΠ°Π½Π΄Ρ Get-Verb ΡΠ΅ΡΠ΅Π· pipline input ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π’Π°ΠΊΠΆΠ΅ pipline input ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ByPropertyName. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΏΡΠΎΠΏΠ΅ΡΡΠΈ ΡΠΎ ΡΡ
ΠΎΠΆΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Verb.
Variables
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈ Π·Π°Π΄Π°ΡΡΡΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Π° $ Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ
$example = 4
Π‘ΠΈΠΌΠ²ΠΎΠ» > ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π²
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, $example > File.txt
ΠΡΠΈΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $example Π² ΡΠ°ΠΉΠ»
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Set-Content -Value $example -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
Loops
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ²:
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.
Conditional Statements
if () {} elseif () {} else
switch($someIntValue){
1 { βOption 1β }
2 { βOption 2β }
default { βNot setβ }
}
Function
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ:
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β
Exception
try{
} catch [System.Net.WebException],[System.IO.IOException]{
} catch {
} finally{
}
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com