PowerShell рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛, рд╣рд╛рдореАрд▓реЗ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреЗ рдкрд╣рд┐рд▓реЛ рдХреБрд░рд╛ рднрдиреЗрдХреЛ рдЖрджреЗрд╢рд╣рд░реВ (Cmdlets) рд╣реЛред
рдЖрджреЗрд╢ рдХрд▓ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:
Verb-Noun -Parameter1 ValueType1 -Parameter2 ValueType2[]
рдорджрдд
Get-help рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ PowerShell рдорд╛ рдорджреНрджрдд рдкрд╣реБрдБрдЪ рдЧрд░рд┐рдиреНрдЫред рддрдкрд╛рдИрдВрд▓реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдордзреНрдпреЗ рдПрдЙрдЯрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: рдЙрджрд╛рд╣рд░рдг, рд╡рд┐рд╕реНрддреГрдд, рдкреВрд░реНрдг, рдЕрдирд▓рд╛рдЗрди, рд╢реЛрд╡рд┐рдиреНрдбреЛред
Get-help Get-Service-full рд▓реЗ Get-Service рдХрдорд╛рдгреНрдбрд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рднрдиреНрдиреЗ рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдлрд░реНрдХрд╛рдЙрдиреЗрдЫред
Get-Help Get-S* рд▓реЗ Get-S* рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреЗ рд╕рдмреИ рдЙрдкрд▓рдмреНрдз рдЖрджреЗрд╢ рд░ рдХрд╛рд░реНрдпрд╣рд░реВ рджреЗрдЦрд╛рдЙрдиреЗрдЫред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Microsoft рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ рд╡рд┐рд╕реНрддреГрдд рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдкрдирд┐ рдЫрдиреНред
рдпрд╣рд╛рдБ Get-Evenlog рдЖрджреЗрд╢ рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдЙрджрд╛рд╣рд░рдг рдорджреНрджрдд рдЫ
рдпрджрд┐ рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ [] рдорд╛ рд╕рдВрд▓рдЧреНрди рдЫрдиреН рднрдиреЗ, рддрд┐рдиреАрд╣рд░реВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЫрдиреНред
рддреНрдпреЛ рд╣реЛ, рдпрд╕ рдЙрджрд╛рд╣рд░рдгрдорд╛, рдЬрд░реНрдирд▓рдХреЛ рдирд╛рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рдЫ, рд░ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдХреЛ рдирд╛рдо
рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ EntryType рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╣реЗрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдШреБрдорд╛рдЙрд░реЛ рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рд╕рдВрд▓рдЧреНрди рдорд╛рдирд╣рд░реВ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдШреБрдорд╛рдЙрд░реЛ рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирд╣рд░реВ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред
рд╣рд╛рдореА рдЖрд╡рд╢реНрдпрдХ рдлрд┐рд▓реНрдбрдорд╛ рддрд▓рдХреЛ рд╡рд┐рд╡рд░рдгрдорд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рдЫреИрди рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреНрди рд╕рдХреНрдЫреМрдВред рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, рдЖрдлреНрдЯрд░ рдПрдЯреНрд░рд┐рдмреНрдпреБрдЯ рдРрдЪреНрдЫрд┐рдХ рдЫ рдХрд┐рдирднрдиреЗ рдЖрд╡рд╢реНрдпрдХрд▓рд╛рдИ 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 рд╕рдБрдЧ рдЙрдкрдирд╛рдо (рдЙрдкрдирд╛рдо) рдЫред
Set-Location рдЖрджреЗрд╢рдХреЛ рд▓рд╛рдЧрд┐ рдЙрджрд╛рд╣рд░рдг рдЙрдкрдирд╛рдо рд╕реАрдбреА рд╣реЛред
рдЕрд░реНрдерд╛рддреН, рдЖрджреЗрд╢рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдиреБрдХреЛ рд╕рдЯреНрдЯрд╛
Set-Location тАЬD:тАЭ
рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ
cd тАЬD:тАЭ
рдЗрддрд┐рд╣рд╛рд╕
рдЖрджреЗрд╢ рдХрд▓рд╣рд░реВрдХреЛ рдЗрддрд┐рд╣рд╛рд╕ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ рдЧреЗрдЯ-рд╣рд┐рд╕реНрдЯреНрд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ
рдИрддрд┐рд╣рд╛рд╕рдмрд╛рдЯ рдЖрджреЗрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реН Invoke-History 1; рдЖрд╣реНрд╡рд╛рди-рдЗрддрд┐рд╣рд╛рд╕ реи
рдЗрддрд┐рд╣рд╛рд╕ рдЦрд╛рд▓реА рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХреНрд▓рд┐рдпрд░-рдЗрддрд┐рд╣рд╛рд╕
рдкрд╛рдЗрдкрд▓рд╛рдЗрди
рдкрд╣рд┐рд▓реЛ рдкреНрд░рдХрд╛рд░реНрдпрдХреЛ рдирддрд┐рдЬрд╛ рджреЛрд╕реНрд░реЛрдорд╛ рдкрд╛рд╕ рдЧрд░реНрджрд╛ рдкрд╛рд╡рд░рд╢реЗрд▓рдорд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реБрдиреНрдЫред рдпрд╣рд╛рдБ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реЛ:
Get-Verb | Measure-Object
рддрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд▓рд╛рдИ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐, рдПрдЙрдЯрд╛ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдФрдВред рдПрдЙрдЯрд╛ рдЯреЛрд▓реА рдЫ
Get-Verb "get"
рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ Get-help Get-Verb -Full help рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдЫреМрдВ рднрдиреЗ, рд╣рд╛рдореА Verb рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд▓реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдЫ рд░ ByValue рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рджреЗрдЦреНрдиреЗрдЫреМрдВред
рдпрд╕рдХреЛ рдорддрд▓рдм рд╣рд╛рдореАрд▓реЗ Get-Verb "get" рд▓рд╛рдИ "gt" | рд▓рд╛рдИ рдкреБрди: рд▓реЗрдЦреНрди рд╕рдХреНрдЫреМрдВ Get-Verb.
рдЕрд░реНрдерд╛рддреН, рдкрд╣рд┐рд▓реЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХреЛ рдирддрд┐рдЬрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдЩ рд╣реЛ рд░ рдпрд╕рд▓рд╛рдИ рдореВрд▓реНрдпрджреНрд╡рд╛рд░рд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рдорд╛рд░реНрдлрдд Get-Verb рдЖрджреЗрд╢рдХреЛ рдХреНрд░рд┐рдпрд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдорд╛ рдкрдард╛рдЗрдиреНрдЫред
рд╕рд╛рдереИ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ ByPropertyName рд╣реБрди рд╕рдХреНрдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореА рдПрдХ рд╡рд╕реНрддреБ рдкрд╛рд╕ рдЧрд░реНрдиреЗрдЫреМрдВ рдЬрд╕рдорд╛ рд╕рдорд╛рди рдирд╛рдо Verb рднрдПрдХреЛ рдЧреБрдг рдЫред
рдЪрд░рд╣рд░реВ
рдЪрд░рд╣рд░реВ рдХрдбрд╛ рд░реВрдкрдорд╛ рдЯрд╛рдЗрдк рдЧрд░рд┐рдПрдХреЛ рдЫреИрди рд░ рдЕрдЧрд╛рдбрд┐ $ рдкреНрд░рддреАрдХрдХреЛ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ
$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
рддрд░ рдПрд░реЗ рдЖрдлреИрдВ рдпреЛ рдХреНрд░рдордмрджреНрдз рд╕рдордпрдорд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рдиреНрдЫред рд░ рдпрджрд┐ рд╣рд╛рдореА array рдорд╛ рдХреНрд░рдордмрджреНрдз рдбрд╛рдЯрд╛ рдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореАрд▓реЗ рдХреНрд░рдордмрджреНрдз рдорд╛рдирд╣рд░реВ рдЕрд╕рд╛рдЗрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
$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