рд╢реБрд░реБрдЖрддреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ PowerShell

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 рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд╣реЗрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдШреБрдорд╛рдЙрд░реЛ рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рд╕рдВрд▓рдЧреНрди рдорд╛рдирд╣рд░реВ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдШреБрдорд╛рдЙрд░реЛ рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирд╣рд░реВ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред

рд╣рд╛рдореА рдЖрд╡рд╢реНрдпрдХ рдлрд┐рд▓реНрдбрдорд╛ рддрд▓рдХреЛ рд╡рд┐рд╡рд░рдгрдорд╛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдЖрд╡рд╢реНрдпрдХ рдЫ рдХрд┐ рдЫреИрди рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦреНрди рд╕рдХреНрдЫреМрдВред рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, рдЖрдлреНрдЯрд░ рдПрдЯреНрд░рд┐рдмреНрдпреБрдЯ рдРрдЪреНрдЫрд┐рдХ рдЫ рдХрд┐рдирднрдиреЗ рдЖрд╡рд╢реНрдпрдХрд▓рд╛рдИ 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 рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рджреЗрдЦреНрдиреЗрдЫреМрдВред

рд╢реБрд░реБрдЖрддреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ PowerShell

рдпрд╕рдХреЛ рдорддрд▓рдм рд╣рд╛рдореАрд▓реЗ 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди