рдирд╡рд╢рд┐рдХреНрдпрд╛рдВрд╕рд╛рдареА 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 рдХрдорд╛рдВрдбрд╕рд╛рдареА рдпреЗрдереЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдорджрдд рдЖрд╣реЗ

рдирд╡рд╢рд┐рдХреНрдпрд╛рдВрд╕рд╛рдареА PowerShell

рдЬрд░ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЪреМрд░рд╕ рдХрдВрд╕рд╛рдд рдмрдВрдж рдХреЗрд▓реЗ рдЕрд╕рддреАрд▓ [], рддрд░ рддреЗ рдРрдЪреНрдЫрд┐рдХ рдЖрд╣реЗрдд.
рдореНрд╣рдгрдЬреЗрдЪ, рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдЬрд░реНрдирд▓рдЪреЗ рдирд╛рд╡ рдЖрдгрд┐ рдкреЕрд░рд╛рдореАрдЯрд░рдЪреЗ рдирд╛рд╡ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдирд╛рд╣реА. рдкреЕрд░рд╛рдореАрдЯрд░ рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдирд╛рд╡ рдХрдВрд╕рд╛рдд рдПрдХрддреНрд░ рдЬреЛрдбрд▓реЗрд▓реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдкреЕрд░рд╛рдореАрдЯрд░ рдкрд░реНрдпрд╛рдпреА рдЖрд╣реЗ.

рддреБрдореНрд╣реА EntryType рдкреЕрд░рд╛рдореАрдЯрд░ рдкрд╛рд╣рд┐рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣реА рдХрд░реНрд▓реА рдмреНрд░реЗрд╕реЗрд╕рдордзреНрдпреЗ рдмрдВрдж рдХреЗрд▓реЗрд▓реА рдореВрд▓реНрдпреЗ рдкрд╛рд╣реВ рд╢рдХрддрд╛. рдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░рд╕рд╛рдареА, рдЖрдореНрд╣реА рдлрдХреНрдд рдХрд░реНрд▓реА рдмреНрд░реЗрд╕реЗрд╕рдордзреНрдпреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдореВрд▓реНрдпреЗ рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ.

рдЖрд╡рд╢реНрдпрдХ рдлреАрд▓реНрдбрдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рд╡рд░реНрдгрдирд╛рдд рдкреЕрд░рд╛рдореАрдЯрд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рдпрд╛рдЪреА рдорд╛рд╣рд┐рддреА рдЖрдореНрд╣реА рдкрд╛рд╣реВ рд╢рдХрддреЛ. рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рдордзреНрдпреЗ, After рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░реНрдпрд╛рдпреА рдЖрд╣реЗ рдХрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реЗ рдЕрд╕рддреНрдп рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ. рдкреБрдвреЗ рдЖрдкрдг 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

рдКрд░реНрдл

рдЬреЗрдгреЗрдХрд░реБрди рдЖрдкрдг рдХрдиреНрд╕реЛрд▓ рдордзреАрд▓ рдкрд░рд┐рдЪрд┐рдд рдЖрдЬреНрдЮрд╛ рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ, рдкреЙрд╡рд░рд╢реЗрд▓рд▓рд╛ рдЙрдкрдирд╛рдо (рдЕрд▓рд┐рдпрд╛рд╕) рдЖрд╣реЗрдд.

рд╕реЗрдЯ-рд▓реЛрдХреЗрд╢рди рдХрдорд╛рдВрдбрдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЙрд░реНрдл тАЛтАЛрд╕реАрдбреА рдЖрд╣реЗ.

рдореНрд╣рдгрдЬреЗ рдЖрджреЗрд╢рд╛рд▓рд╛ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА

Set-Location тАЬD:тАЭ

рдЖрдореНрд╣реА рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ

cd тАЬD:тАЭ

рдЗрддрд┐рд╣рд╛рд╕

рдХрдорд╛рдВрдб рдХреЙрд▓рдЪрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА Get-History рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛

рдЗрддрд┐рд╣рд╛рд╕рд╛рддреВрди рдЖрджреЗрд╢ рдЪрд╛рд▓рд╡рд╛ Invoke-History 1; рдЗрдирд╡реНрд╣реЛрдХ-рдЗрддрд┐рд╣рд╛рд╕ 2

рдЗрддрд┐рд╣рд╛рд╕ рд╕рд╛рдл рдХрд░рд╛ рд╕рд╛рдл-рдЗрддрд┐рд╣рд╛рд╕

рдкрд╛рдЗрдкрд▓рд╛рдЗрди

рдкреЙрд╡рд░рд╢реЗрд▓рдордзреАрд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореНрд╣рдгрдЬреЗ рдЬреЗрд╡реНрд╣рд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдлрдВрдХреНрд╢рдирдЪрд╛ рдирд┐рдХрд╛рд▓ рджреБрд╕рд▒реНрдпрд╛рдХрдбреЗ рдЬрд╛рддреЛ. рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреЗ рдпреЗрдереЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ:

Get-Verb | Measure-Object

рдкрдг рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ рд╕рд╛рдзреЗ рдЙрджрд╛рд╣рд░рдг рдШреЗрдК. рдПрдХ рд╕рдВрдШ рдЖрд╣реЗ

Get-Verb "get"

рдЬрд░ рдЖрдкрдг Get-Help рд▓рд╛ Get-Verb -Full help рдореНрд╣рдгрддреЛ, рддрд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рджрд┐рд╕реЗрд▓ рдХреА рдХреНрд░рд┐рдпрд╛рдкрдж рдкреЕрд░рд╛рдореАрдЯрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рд╕реНрд╡реАрдХрд╛рд░рддреЛ рдЖрдгрд┐ ByValue рдХрдВрд╕рд╛рдд рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ.

рдирд╡рд╢рд┐рдХреНрдпрд╛рдВрд╕рд╛рдареА PowerShell

рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдЖрдкрдг Get-рдХреНрд░рд┐рдпрд╛рдкрдж "get" рд▓рд╛ "get" | рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣реВ рд╢рдХрддреЛ рдорд┐рд│рд╡рдгреЗ-рдХреНрд░рд┐рдпрд╛рдкрдж.
рдореНрд╣рдгрдЬреЗрдЪ, рдкрд╣рд┐рд▓реНрдпрд╛ рдЕрднрд┐рд╡реНрдпрдХреНрддреАрдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрд╣реЗ рдЖрдгрд┐ рддреЛ рдореВрд▓реНрдпрд╛рдиреБрд╕рд╛рд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯрджреНрд╡рд╛рд░реЗ Get-Verb рдХрдорд╛рдВрдбрдЪреНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдкрдж рдкреЕрд░рд╛рдореАрдЯрд░рдордзреНрдпреЗ рдЬрд╛рддреЛ.
рддрд╕реЗрдЪ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ ByPropertyName рдЕрд╕реВ рд╢рдХрддреЗ. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рдЖрдореНрд╣реА рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░реВ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рдорд╛рди рдирд╛рд╡ рдХреНрд░рд┐рдпрд╛рдкрдж рдЖрд╣реЗ.

рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕

рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЬреЛрд░рджрд╛рд░ рдЯрд╛рдИрдк рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╕рдореЛрд░ $ рдЪрд┐рдиреНрд╣рд╛рд╕рд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд

$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

рдкреЙрд╡рд░рд╢реЗрд▓рдордзреАрд▓ рдЕреЕрд░реЗрдордзреВрди рдШрдЯрдХ рдХрд╛рдврдгреНрдпрд╛рдЪрд╛ рдХреЛрдгрддрд╛рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рд░реНрдЧ рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреБрдореНрд╣реА рддреЗ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдХрд░реВ рд╢рдХрддрд╛:

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

рдмреНрд░реЗрдХ рд▓реВрдкрдордзреВрди рдмрд╛рд╣реЗрд░ рдкрдбрд╛.

рд╕реБрд░реВ рдареЗрд╡рдгрд╛рд░рд╛ рдШрдЯрдХ рд╡рдЧрд│рдд рдЖрд╣реЗ.

рд╕рд╢рд░реНрдд рд╡рд┐рдзрд╛рдиреЗ

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛