рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдкреЙрд╡рд░рд╢реЗрд▓

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ