PowerShell рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИ рд╡рд╣ рд╣реИ рдХрдорд╛рдВрдбреНрд╕ (Cmdlets)ред
рдХрдорд╛рдВрдб рдХреЙрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
рдорджрдж
Get-Help рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PowerShell рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рддрдХ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдЙрджрд╛рд╣рд░рдг, рд╡рд┐рд╕реНрддреГрдд, рдкреВрд░реНрдг, рдСрдирд▓рд╛рдЗрди, рд╢реЛрд╡рд┐рдВрдбреЛред
рдЧреЗрдЯ-рд╣реЗрд▓реНрдк рдЧреЗрдЯ-рд╕рд░реНрд╡рд┐рд╕-рдлреБрд▓ рдЧреЗрдЯ-рд╕рд░реНрд╡рд┐рд╕ рдХрдорд╛рдВрдб рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рд╡рд░рдг рд▓реМрдЯрд╛рдПрдЧрд╛
Get-Help Get-S* Get-S* рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдХрдорд╛рдВрдб рдФрд░ рдлрдВрдХреНрд╢рди рджрд┐рдЦрд╛рдПрдЧрд╛
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Microsoft рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рднреА рд╣реИред
рдпрд╣рд╛рдБ рдЧреЗрдЯ-рдИрд╡рдирд▓реЙрдЧ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рд╣рд╛рдпрддрд╛ рджреА рдЧрдИ рд╣реИ
рдпрджрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдХреНрд╡рд╛рдпрд░ рдмреНрд░реИрдХреЗрдЯ [] рдореЗрдВ рд╕рдВрд▓рдЧреНрди рд╣реИрдВ, рддреЛ рд╡реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВред
рдпрд╣реА рд╣реИ, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд▓реЙрдЧ рдХрд╛ рдирд╛рдо рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдирд╛рдо рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рдпрджрд┐ рдЖрдк рдПрдВрдЯреНрд░реА рдЯрд╛рдЗрдк рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реИрдХреЗрдЯ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдорд╛рди рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдореЗрдВ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреИрд░рд╛рдореАрдЯрд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рдореЗрдВ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдлреНрдЯрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрд╡рд╢реНрдпрдХ рдЧрд▓рдд рдкрд░ рд╕реЗрдЯ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдкреЛрдЬреАрд╢рди рдлреАрд▓реНрдб рдХреЛ рд╕рд╛рдордиреЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдирд╛рдорд╛рдВрдХрд┐рдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдХреЗрд╡рд▓ рдирд╛рдо рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд:
Get-EventLog -LogName Application -After 2020.04.26
рдЪреВрдВрдХрд┐ LogName рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп 0 рдирдВрдмрд░ рдерд╛, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдмрд┐рдирд╛ рдирд╛рдо рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдХреНрд░рдо рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ:
Get-EventLog Application -After 2020.04.26
рдЖрдЗрдП рдЗрд╕ рдЖрджреЗрд╢ рдХреЛ рдорд╛рди рд▓реЗрдВ:
Get-EventLog -Newest 5 Application
рдЙрд░реНрдл
рддрд╛рдХрд┐ рд╣рдо PowerShell рдореЗрдВ рдХрдВрд╕реЛрд▓ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ, рдЙрдкрдирд╛рдо (рдЙрдкрдирд╛рдо) рд╣реИрдВред
рд╕реЗрдЯ-рд▓реЛрдХреЗрд╢рди рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЙрдкрдирд╛рдо cd рд╣реИред
рдпрд╛рдиреА рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп
Set-Location тАЬD:тАЭ
рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
cd тАЬD:тАЭ
рдЗрддрд┐рд╣рд╛рд╕
рдЖрджреЗрд╢ рдХреЙрд▓ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЧреЗрдЯ-рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрддрд┐рд╣рд╛рд╕ рд╕реЗ рдЖрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ Invoke-History 1; рдЗрддрд┐рд╣рд╛рд╕ 2 рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░реЗрдВ
рдЗрддрд┐рд╣рд╛рд╕ рдорд┐рдЯрд╛ рджреЗрдВ
рдкрд╛рдЗрдкрд▓рд╛рдЗрди
рдкреЙрд╡рд░рд╢реЗрд▓ рдореЗрдВ рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдкрд╣рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреВрд╕рд░реЗ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Get-Verb | Measure-Object
рд▓реЗрдХрд┐рди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд▓реЗрддреЗ рд╣реИрдВред рдПрдХ рджрд▓ рдорд┐рд▓рд╛
Get-Verb "get"
рдпрджрд┐ рдЖрдк Get-Help Get-Verb -Full help рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ Verb рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рд▓реЗрддрд╛ рд╣реИ рдФрд░ ByValue рдХреЛрд╖реНрдардХ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо Get-Verb "get" рдХреЛ "get" | рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдЕрд░реНрдерд╛рддреН, рдкрд╣рд▓реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЧреЗрдЯ-рд╡рд░реНрдм рдХрдорд╛рдВрдб рдХреЗ рд╡рд░реНрдм рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкрд┐рдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рди рд╕реЗ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд╛рде рд╣реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ ByPropertyName рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рдорд╛рди рдирд╛рдо рдХреНрд░рд┐рдпрд╛ рд╡рд╛рд▓реА рд╕рдВрдкрддреНрддрд┐ рд╣реЛред
рдЪрд░
рдЪрд░ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рд╕рд╛рдордиреЗ $ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ
$example = 4
рдкреНрд░рддреАрдХ > рдХрд╛ рдЕрд░реНрде рдбреЗрдЯрд╛ рдХреЛ рдЕрдВрджрд░ рд░рдЦрдирд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, $example > File.txt
рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде, рд╣рдо рдбреЗрдЯрд╛ рдХреЛ $example рдЪрд░ рд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓реЗрдВрдЧреЗ
рд╕реЗрдЯ-рдХрдВрдЯреЗрдВрдЯ -рд╡реИрд▓реНрдпреВ $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
рд▓реВрдкреНрд╕
рд▓реВрдк рд╕рд┐рдВрдЯреИрдХреНрд╕:
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