Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдкрдорд╛, рдпреБрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдХрдорд╛рдгреНрдб-рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рд╡рд┐рдиреНрдбреЛрдЬрдХреЛ рддреБрд▓рдирд╛рдорд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рд╡рд┐рдХрд╕рд┐рдд рднрдПрдХрд╛ рдЫрдиреН, рддрд░ рдирдпрд╛рдБ рд╕рдорд╛рдзрд╛рдирдХреЛ рдЖрдЧрдордирд╕рдБрдЧреИ рд╕реНрдерд┐рддрд┐ рдкрд░рд┐рд╡рд░реНрддрди рднрдПрдХреЛ рдЫред

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

PowerShell рд▓рд╛рдИ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░рд┐рдПрдХреЛ, рдмрд╣реБ-рдкреНрд░рддрд┐рдорд╛рдирд╛рддреНрдордХ рднрд╛рд╖рд╛рдорд╛ рд▓рд┐рдкрд┐рдмрджреНрдз рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЬрд╕рдорд╛ рдХреНрд▓рд╛рд╕рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ, рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ, рд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдХрд╛ рддрддреНрд╡рд╣рд░реВ рдЫрдиреН: рд╕рд╢рд░реНрдд рд╢рд╛рдЦрд╛, рд▓реВрдкрд╣рд░реВ, рдЪрд░рд╣рд░реВ, рдПрд░реЗрд╣рд░реВ, рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ, рд╡рд░реНрдЧрд╣рд░реВ, рддреНрд░реБрдЯрд┐ рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдВрдЧ, рд╕рд╛рдереИ рдХрд╛рд░реНрдпрд╣рд░реВ, cmdlets, рд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╣рд░реВред ╨б╤В╨░╤В╤М╤П╤Л╨┤╤Г╤Й╨░╤П ╤Б╤В╨░╤В╤М╤П рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЖрдзрд╛рд░рднреВрдд рдХреБрд░рд╛рд╣рд░реВрдорд╛ рд╕рдорд░реНрдкрд┐рдд рдерд┐рдпреЛ, рд░ рдЕрдм рд╣рд╛рдореА рд╣рд╛рдореНрд░рд╛ рдкрд╛рдардХрд╣рд░реВрд▓рд╛рдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╕рдиреНрджрд░реНрдн рдкреБрд╕реНрддрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджрдЫреМрдВред

рд╕рд╛рдордЧреНрд░реА рддрд╛рд▓рд┐рдХрд╛:

╨Ъ╨╛╨╝╨╝╨╡╨╜╤В╨░╤А╨╕╨╕
рдЪрд░ рд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ
рдкреНрд░рдгрд╛рд▓реА рдЪрд░
рд╕реНрдХреЛрдкрд╣рд░реВ
рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ (рд╡рд╛рддрд╛рд╡рд░рдг)
рдЕрдВрдХрдЧрдгрд┐рдд рд░ рддреБрд▓рдирд╛ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ
рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ
рддрд╛рд░реНрдХрд┐рдХ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ
рд╕рд╢рд░реНрдд рдЬрдореНрдк
рд╕рд╛рдЗрдХрд▓рд╣рд░реВ
рдПрд░реНрд░реЗрд╣рд░реВ
рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ
рдХрд╛рд░реНрдпрд╣рд░реВ
рддреНрд░реБрдЯрд┐ рдкреНрд░рд╢реЛрдзрди

рддрдкрд╛рдИрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рдкрд╛рда рд╕рдореНрдкрд╛рджрдХрдорд╛ рд╡рд╛ рдПрдХреАрдХреГрдд рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреЛрдб рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ - рд╕рдмреИрднрдиреНрджрд╛ рд╕рдЬрд┐рд▓реЛ рддрд░рд┐рдХрд╛ рднрдиреЗрдХреЛ Windows PowerShell ISE рд▓рд┐рдиреБ рд╣реЛ рдЬреБрди Microsoft рд╕рд░реНрднрд░ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВрд╕рдБрдЧ рдЖрдЙрдБрдЫред рдпреЛ рдПрдХрджрдо рдЬрдЯрд┐рд▓ рд▓рд┐рдкрд┐рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдЖрд╡рд╢реНрдпрдХ рдЫ: рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдЫреЛрдЯреЛ рд╕реЗрдЯ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫред

╨Ъ╨╛╨╝╨╝╨╡╨╜╤В╨░╤А╨╕╨╕

рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБ рдЙрдЪрд┐рдд рдЗрдиреНрдбреЗрдиреНрдЯреЗрд╕рди рд░ рд╣реНрд╡рд╛рдЗрдЯрд╕реНрдкреЗрд╕рдХреЛ рд╕рд╛рде рд░рд╛рдореНрд░реЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рд╢реИрд▓реАрдХреЛ рднрд╛рдЧ рдорд╛рдирд┐рдиреНрдЫ:

# ╨Ф╨╗╤П ╤Б╤В╤А╨╛╤З╨╜╤Л╤Е ╨║╨╛╨╝╨╝╨╡╨╜╤В╨░╤А╨╕╨╡╨▓ ╨╕╤Б╨┐╨╛╨╗╤М╨╖╤Г╨╡╤В╤Б╤П ╤Б╨╕╨╝╨▓╨╛╨╗ ╤А╨╡╤И╨╡╤В╨║╨╕ тАФ ╤Б╨╛╨┤╨╡╤А╨╢╨╕╨╝╨╛╨╡ ╤Б╤В╤А╨╛╨║╨╕ ╨╕╨╜╤В╨╡╤А╨┐╤А╨╡╤В╨░╤В╨╛╤А ╨╜╨╡ ╨╛╨▒╤А╨░╨▒╨░╤В╤Л╨▓╨░╨╡╤В.

<# 

       ╨в╨░╨║ ╨╛╨▒╨╛╨╖╨╜╨░╤З╨░╤О╤В╤Б╤П ╨╜╨░╤З╨░╨╗╨╛ ╨╕ ╨║╨╛╨╜╨╡╤Ж ╨▒╨╗╨╛╤З╨╜╨╛╨│╨╛ ╨║╨╛╨╝╨╝╨╡╨╜╤В╨░╤А╨╕╤П. 
       ╨Ч╨░╨║╨╗╤О╤З╨╡╨╜╨╜╤Л╨╣ ╨╝╨╡╨╢╨┤╤Г ╨╜╨╕╨╝╨╕ ╤В╨╡╨║╤Б╤В ╨╕╨╜╤В╨╡╤А╨┐╤А╨╡╤В╨░╤В╨╛╤А ╨╕╨│╨╜╨╛╤А╨╕╤А╤Г╨╡╤В.

#>

рдЪрд░ рд░ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ

PowerShell рдорд╛ рдЪрд░рд╣рд░реВрд▓рд╛рдИ рд╡рд╕реНрддреБрд╣рд░реВ рднрдирд┐рдиреНрдЫред рддрд┐рдиреАрд╣рд░реВрдХреЛ рдирд╛рдордорд╛ рдЕрдиреНрдбрд░рд╕реНрдХреЛрд░ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░, рд╕рд╛рдереИ рдЕрдХреНрд╖рд░ рд░ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрди рд╕рдХреНрдЫрдиреНред $ рдкреНрд░рддреАрдХ рд╕рдзреИрдВ рдирд╛рдо рднрдиреНрджрд╛ рдкрд╣рд┐рд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рд░ рдПрдХ рдЪрд░ рдШреЛрд╖рдгрд╛ рдЧрд░реНрди, рдпреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛рдХрд░реНрддрд╛рд▓рд╛рдИ рдорд╛рдиреНрдп рдирд╛рдо рджрд┐рди рдкрд░реНрдпрд╛рдкреНрдд рдЫ:

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдЪрд░ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░реНрди (рдпрд╕рд▓рд╛рдИ рдорд╛рди рддреЛрдХреНрдиреБрд╣реЛрд╕реН), рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЕрдкрд░реЗрдЯрд░ (рдкреНрд░рддреАрдХ =) рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ:

$test = 100

рддрдкрд╛рдИрдВрд▓реЗ рдирд╛рдо рд╡рд╛ рдорд╛рди рдЕрдШрд┐ рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ (рдЯрд╛рдЗрдк рдХрд╛рд╕реНрдЯрд┐рдЩ рдЕрдкрд░реЗрдЯрд░) рдорд╛ рдпрд╕рдХреЛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реЗрд░ рдЪрд░ рдШреЛрд╖рдгрд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

[int]$test = 100

$test = [int]100

рдпреЛ рдмреБрдЭреНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ PowerShell рдорд╛ рдЪрд░рд╣рд░реВ рдЧреБрдгрд╣рд░реВ рд░ рд╡рд┐рдзрд┐рд╣рд░реВ рднрдПрдХрд╛ рдкреВрд░реНрдг рд╡рд╕реНрддреБрд╣рд░реВ (рд╡рд░реНрдЧрд╣рд░реВ) рд╣реБрдиреН рдЬрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░рд╣рд░реВ .NET рдХреЛрд░рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╣реБрдиреНрдЫрдиреНред рд╣рд╛рдореА рдореБрдЦреНрдпрд╣рд░реВ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реНрдЫреМрдВ:

рдкреНрд░рдХрд╛рд░ (.NET рдХрдХреНрд╖рд╛)

рд╡рд┐рд╡рд░рдг

рдирдореВрдирд╛ рдХреЛрдб

[рд╕реНрдЯреНрд░рд┐рдЩ] рдкреНрд░рдгрд╛рд▓реАредрд╕реНрдЯреНрд░рд┐рдЩ

рдпреБрдирд┐рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдЩ 

$test = "рдкрд░реАрдХреНрд╖рдг"
$test = 'рдкрд░реАрдХреНрд╖рдг'

[char] рдкреНрд░рдгрд╛рд▓реАредрдЪрд╛рд░

рдпреБрдирд┐рдХреЛрдб рд╡рд░реНрдг (резрем рдмрд┐рдЯ)

[char]$test = 'c'

[рдмреВрд▓] рдкреНрд░рдгрд╛рд▓реАредрдмреБрд▓рд┐рдпрди

рдмреБрд▓рд┐рдпрди рдкреНрд░рдХрд╛рд░ (рдмреБрд▓рд┐рдпрди рд╕рд╛рдБрдЪреЛ рд╡рд╛ рдЧрд▓рдд)

[bool]$test = $true

[int] System.Int32

рдмрддреНрддреАрд╕ рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ (рейреи рдмрд┐рдЯ)

[int]$test = 123456789

[рд▓рд╛рдореЛ] System.Int64

рдЪреМрд╕рда рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ (ремрек рдмрд┐рдЯ)

[long]$test = 12345678910

[рдПрдХрд▓] рдкреНрд░рдгрд╛рд▓реАредрдПрдХрд▓

рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдмрд┐рдиреНрджреБ рдирдореНрдмрд░ 32 рдмрд┐рдЯ рд▓рд╛рдореЛ

[рдПрдХрд▓]$ рдкрд░реАрдХреНрд╖рдг = резреирейрекрел.ремренреореп

[рдбрдмрд▓] рдкреНрд░рдгрд╛рд▓реАред рдбрдмрд▓

рд▓рдореНрдмрд╛рдЗрдХреЛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдмрд┐рдиреНрджреБ рд╕рдВрдЦреНрдпрд╛ 64 рдмрд┐рдЯ (8 рдмрд╛рдЗрдЯ)

[рдбрдмрд▓]$test = 123456789.101112

[рджрд╢рдорд▓рд╡] рдкреНрд░рдгрд╛рд▓реАред рджрд╢рдорд▓рд╡

128-рдмрд┐рдЯ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЛрдЗрдиреНрдЯ рдирдореНрдмрд░ (d рд╕рдБрдЧ рдЕрдиреНрддреНрдп рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ)

[рджрд╢рдорд▓рд╡]$test = 12345.6789d

[рдорд┐рддрд┐рд╕рдордп]рдкреНрд░рдгрд╛рд▓реАредрдорд┐рддрд┐рд╕рдордп

рдорд┐рддрд┐ рд░ рд╕рдордп 

$test = GetDate

[array] System.Object[]

рдПрдЙрдЯрд╛ рдПрд░реЗ рдЬрд╕рдХреЛ рддрддреНрд╡ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ реж рдорд╛ рд╕реБрд░реБ рд╣реБрдиреНрдЫ

$test_array = 1, 2, "test", 3, 4

[рд╣реНрдпрд╛рд╢рдЯреЗрдмрд▓] рдкреНрд░рдгрд╛рд▓реАредрд╕рдЩреНрдЧреНрд░рд╣рд╣рд░реВредрд╣реНрдпрд╛рд╢рдЯреЗрдмрд▓

рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рдирд╛рдорд┐рдд рдХреБрдЮреНрдЬреАрд╣рд░реВрдХрд╛ рд╕рд╛рде рд╕рд╣рдпреЛрдЧреА рдПрд░реЗрд╣рд░реВ рд╣реБрдиреН, рд╕рд┐рджреНрдзрд╛рдиреНрдд рдЕрдиреБрд╕рд╛рд░ рдирд┐рд░реНрдорд┐рдд: @{key = "value"}

$test_hashtable = @{one="one"; two = рджреБрдИ "; three="рддреАрди"}

PowerShell рд▓реЗ рдирд┐рд╣рд┐рдд рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдиреНрддрд░рдгрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдердк рд░реВрдкрдорд╛, рдЪрд░рдХреЛ рдкреНрд░рдХрд╛рд░ рдлреНрд▓рд╛рдИрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЕрдкрд░реЗрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░), рдпрджрд┐ рдпреЛ рдЬрдмрд░рдЬрд╕реНрддреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди - рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдЕрдиреБрд╡рд╛рджрдХрд▓реЗ рддреНрд░реБрдЯрд┐ рджрд┐рдиреЗрдЫред рддрдкрд╛рдИрдВрд▓реЗ GetType() рд╡рд┐рдзрд┐рд▓рд╛рдИ рдХрд▓ рдЧрд░реЗрд░ рдЕрдШрд┐рд▓реНрд▓реЛ рдЙрджрд╛рд╣рд░рдгрдмрд╛рдЯ рдЪрд░рдХреЛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

$test.GetType().FullName

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдЪрд░рд╣рд░реВ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ cmdlets рдЫрдиреНред рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реВрдЪреА рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдлрд╛рд░рдордорд╛ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреНрдЫ:

Get-Command -Noun Variable | ft -Property Name, Definition -AutoSize -Wrap

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдШреЛрд╖рд┐рдд рдЪрд░рд╣рд░реВ рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдорд╛рдирд╣рд░реВ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рд╡рд┐рд╢реЗрд╖ cmdlet рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

Get-Variable | more

рдпреЛ рд╡рд┐рдзрд┐ рдЕрддреНрдпрдзрд┐рдХ рдмреЛрдЭрд┐рд▓реЛ рджреЗрдЦрд┐рдиреНрдЫ, рдпреЛ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдорд╛рд░реНрдлрдд рд╡рд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЧреБрдгрд╣рд░реВ рд░ рд╡рд┐рдзрд┐рд╣рд░реВ рд╕рд┐рдзреИ рдкрд╣реБрдБрдЪ рдЧрд░реЗрд░ рдЪрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫред рдЬреЗ рд╣реЛрд╕реН, cmdlets рдХреЛ рдЕрд╕реНрддрд┐рддреНрд╡рдХреЛ рдЕрдзрд┐рдХрд╛рд░ рдЫ рдХрд┐рдирднрдиреЗ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреЗрд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпреЛ рдмреБрдЭреНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд░рд╣рд░реВ рд╣рд╛рд▓рдХреЛ рд╕рддреНрд░ рднрд┐рддреНрд░ рдорд╛рддреНрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЫрдиреНред рдЬрдм рдХрдиреНрд╕реЛрд▓ рдмрдиреНрдж рд╣реБрдиреНрдЫ рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫ, рддрд┐рдиреАрд╣рд░реВ рдореЗрдЯрд┐рдиреНрдЫрдиреНред

рдкреНрд░рдгрд╛рд▓реА рдЪрд░

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдПрдХрд╛ рдмрд╛рд╣реЗрдХ, рддреНрдпрд╣рд╛рдБ рдирд┐рд░реНрдорд┐рдд (рдкреНрд░рдгрд╛рд▓реА) рдЪрд░рд╣рд░реВ рдЫрдиреН рдЬреБрди рд╣рд╛рд▓рдХреЛ рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рднрдПрдкрдЫрд┐ рдореЗрдЯрд╛рдЗрдБрджреИрдиред рддрд┐рдиреАрд╣рд░реВ рджреБрдИ рдкреНрд░рдХрд╛рд░рдорд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдЫрдиреН, рдЬрдмрдХрд┐ PowerShell рд░рд╛рдЬреНрдп рдбреЗрдЯрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЪрд░рд╣рд░реВрдорд╛ рднрдгреНрдбрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╕рд▓рд╛рдИ рд╕реНрд╡реЗрдЪреНрдЫрд╛рдЪрд╛рд░реА рдорд╛рдирд╣рд░реВ рддреЛрдХреНрди рд╕рдХрд┐рдБрджреИрдиред рдпреА рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, $PWD:

$PWD.Path

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЪрд░рд╣рд░реВ рдЖрд╡рд╢реНрдпрдХ рдЫрдиреН, рдЬрд╕рдХреЛ рдорд╛рдирд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, $ErrorActionPreference рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рдЧреИрд░-рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рдШрдЯрдирд╛рдорд╛ рдХрдорд╛рдгреНрдб рджреЛрднрд╛рд╖реЗрдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдШреЛрд╖рд┐рдд рдЪрд░рд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рд░ cmdlets рдмрд╛рд╣реЗрдХ, рддреНрдпрд╣рд╛рдБ рдПрдХ рдЪрд░ рдЫ: рд╕реНрдпреВрдбреЛ-рд╕рдЮреНрдЪрдпрдХрд░реНрддрд╛ред рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЕрдиреНрдп рдбреНрд░рд╛рдЗрднрд╣рд░реВрд╕рдБрдЧ рд╕рдорд╛рдирддрд╛рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдЪрд░рд╣рд░реВ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рд╡рд╕реНрддреБрд╣рд░реВ рдЬрд╕реНрддреИ рджреЗрдЦрд┐рдиреНрдЫрдиреН:

Get-ChildItem Variable: | more

рд╡рд╛

ls Variable: | more

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рд╕реНрдХреЛрдкрд╣рд░реВ

PowerShell рдорд╛ рдЪрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рддреНрдпрд╣рд╛рдБ рд╕реНрдХреЛрдк (рд╕реНрдХреЛрдк) рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛ рдЫред рдЧреНрд▓реЛрдмрд▓ рд╕реНрдХреЛрдк (рдЧреНрд▓реЛрдмрд▓) рдХреЛ рдХрд╛рд░реНрдп рд╕рдореНрдкреВрд░реНрдг рд╣рд╛рд▓рдХреЛ рд╕рддреНрд░рдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫ - рдпрд╕рд▓реЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреНрд░рдгрд╛рд▓реА рдЪрд░рд╣рд░реВред рд╕реНрдерд╛рдиреАрдп (рд╕реНрдерд╛рдиреАрдп) рдЪрд░рд╣рд░реВ рдХреЗрд╡рд▓ рджрд╛рдпрд░рд╛рдорд╛ рдЙрдкрд▓рдмреНрдз рдЫрдиреН рдЬрд╣рд╛рдБ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ: рдкреНрд░рдХрд╛рд░реНрдп рднрд┐рддреНрд░ рднрдиреНрдиреБрд╣реЛрд╕реНред рддреНрдпрд╣рд╛рдБ рд▓рд┐рдкрд┐рдХреЛ рджрд╛рдпрд░рд╛ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛ рдкрдирд┐ рдЫ, рддрд░ рд▓рд┐рдкрд┐ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛ рд╕реНрдерд╛рдиреАрдп рд╣реЛред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рдЪрд░рд╣рд░реВ рдШреЛрд╖рдгрд╛ рдЧрд░реНрджрд╛, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╕реНрдерд╛рдиреАрдп рджрд╛рдпрд░рд╛ рджрд┐рдЗрдиреНрдЫ, рд░ рдпрд╕рд▓рд╛рдИ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрдорд╛рдг рдЪрд╛рд╣рд┐рдиреНрдЫ рдЬрд╕реНрддреИ: $Global: variable = valueред

рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдпреЛ рдЬрд╕реНрддреИ:

$Global:test = 100

рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ (рд╡рд╛рддрд╛рд╡рд░рдг)

рдЕрд░реНрдХреЛ рдЫрджреНрдо рдбреНрд░рд╛рдЗрдн, Env:, PowerShell рдмрд╛рдЯ рдЙрдкрд▓рдмреНрдз рдЫ рд░ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЬрдм рд╢реЗрд▓ рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рддрд┐рдиреАрд╣рд░реВ рдЕрднрд┐рднрд╛рд╡рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдмрд╛рдЯ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╣реБрдиреНрдЫрдиреН (рдЕрд░реНрдерд╛рдд, рд╣рд╛рд▓рдХреЛ рд╕рддреНрд░ рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдордмрд╛рдЯ) рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдорд╛рдирд╣рд░реВ рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрдпрд╛рдирд▓рдорд╛ рдорд╛рдирд╣рд░реВ рдЬрд╕реНрддреИ рд╣реБрдиреНрдЫрдиреНред рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рд╣рд░реВ рд╣реЗрд░реНрди, Get-ChildItem cmdlet рд╡рд╛ рдпрд╕рдХреЛ рдЙрдкрдирд╛рдо (рдЙрдкрдирд╛рдо): ls рд░ dir рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

dir Env:

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдпреА рдЪрд░рд╣рд░реВ рдмрд╛рдЗрдЯрд╣рд░реВ (рд╡рд╛ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ) рдХреЛ рдЕрдиреБрдХреНрд░рдорд╣рд░реВ рд╣реБрдиреН, рдЬрд╕рдХреЛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдордорд╛ рдорд╛рддреНрд░ рдирд┐рд░реНрднрд░ рдЧрд░реНрджрдЫред *-рдЪрд░ cmdlets рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрджреИрдиред рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкрд╣реБрдБрдЪ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдбреНрд░рд╛рдЗрд╡ рдЙрдкрд╕рд░реНрдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдЫ:

$env:TEST = "Hello, World!"

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдЕрдВрдХрдЧрдгрд┐рдд рд░ рддреБрд▓рдирд╛ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ

PowerShell рд▓реЗ рдирд┐рдореНрди рдЕрдВрдХрдЧрдгрд┐рдд рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ: + (рдЕрддрд┐рд░рд┐рдХреНрдд), - (рдШрдЯрд╛рдЙ), * (рдЧреБрдг), / (рднрд╛рдЧ), рд░ % (рдореЛрдбреБрд▓реЛ рд╡рд╛ рдореЛрдбреНрдпреБрд▓реЛ)ред рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХреЛ рдкрд░рд┐рдгрд╛рдорд▓рд╛рдИ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдкрдорд╛ рд╕реНрд╡реАрдХреГрдд рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдХреНрд░рдо рдЕрдиреБрд╕рд╛рд░ рдмрд╛рдпрд╛рдБрдмрд╛рдЯ рджрд╛рдпрд╛рдБрд╕рдореНрдо рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░рд┐рдиреНрдЫ, рд░ рдХреЛрд╖реНрдардХрд╣рд░реВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХрд╛ рднрд╛рдЧрд╣рд░реВрд▓рд╛рдИ рд╕рдореВрд╣рдмрджреНрдз рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдмреАрдЪрдХреЛ рдЦрд╛рд▓реА рдард╛рдЙрдБрд╣рд░реВрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░рд┐рдиреНрдЫ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкрдвреНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред + рдЕрдкрд░реЗрдЯрд░рд▓реЗ рдкрдирд┐ рдЬреЛрдбреНрдЫ, рд░ * рдЕрдкрд░реЗрдЯрд░рд▓реЗ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдБрдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рдирдореНрдмрд░ рдердкреНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рд╣реБрдиреЗрдЫред рдердк рд░реВрдкрдорд╛, PowerShell рднрд╛рд╖рд╛рдорд╛ рдзреЗрд░реИ рддреБрд▓рдирд╛ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ рджреБрдИ рдорд╛рдирд╣рд░реВ рдмреАрдЪрдХреЛ рдорд┐рд▓рд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫ рд░ рдмреБрд▓рд┐рдпрди рдЯреНрд░реБ рд╡рд╛ рдЧрд▓рдд рдлрд░реНрдХрд╛рдЙрдБрдЫ:

рдЕрдкрд░реЗрдЯрд░

рд╡рд┐рд╡рд░рдг

рдирдореВрдирд╛ рдХреЛрдб

- eq

рдмрд░рд╛рдмрд░ / рдмрд░рд╛рдмрд░ (рдЕрдиреНрдп рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ = рд╡рд╛ == рд╕рдорд╛рди)

$test = 100
$test -eq 123 

-рди

рдмрд░рд╛рдмрд░ рдЫреИрди / рдмрд░рд╛рдмрд░ рдЫреИрди (рд╕рдорд╛рди <> рд╡рд╛ !=)

$test = 100
$test -ne 123   

-gt

рднрдиреНрджрд╛ рдареВрд▓реЛ / рдЕрдзрд┐рдХ (рдПрдирд╛рд▓реЙрдЧ>)

$test = 100
$test -gt 123

-рдЬреА

рднрдиреНрджрд╛ рдареВрд▓реЛ рд╡рд╛ рдмрд░рд╛рдмрд░ / рднрдиреНрджрд╛ рдареВрд▓реЛ рд╡рд╛ рдмрд░рд╛рдмрд░ (>=)

$test = 100
$test -ge 123

-lt

рднрдиреНрджрд╛ рдХрдо / рдХрдо (< рдХреЛ рд╕рдорд╛рди)

$test = 100
$test -lt 123  

-рдд

рднрдиреНрджрд╛ рдХрдо рд╡рд╛ рдмрд░рд╛рдмрд░ / рднрдиреНрджрд╛ рдХрдо рд╡рд╛ рдмрд░рд╛рдмрд░ (<= рдХреЛ рд╕рдорд╛рди)

$test = 100
$test -le 123

рддреНрдпрд╣рд╛рдБ рдЕрдиреНрдп рд╕рдорд╛рди рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдбрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╡рд╛ рдврд╛рдБрдЪрд╛ рдорд┐рд▓рд╛рдЙрди рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╣рд╛рдореА рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рднрд╡рд┐рд╖реНрдпрдХрд╛ рд▓реЗрдЦрд╣рд░реВрдорд╛ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рдХрднрд░ рдЧрд░реНрдиреЗрдЫреМрдВред рдкреНрд░рддреАрдХрд╣рд░реВ <, > рд░ = рддреБрд▓рдирд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдБрджреИрди рдХрд┐рдирднрдиреЗ рддрд┐рдиреАрд╣рд░реВ рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ

рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп = рдЕрдкрд░реЗрдЯрд░рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, рддреНрдпрд╣рд╛рдБ рдЕрдиреНрдп рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдЫрдиреН: +=, -=, *=, /= рд░ %=ред рддрд┐рдиреАрд╣рд░реВ рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЕрдШрд┐ рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдЫрдиреНред рдпреБрдирд░реА рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ ++ рд░ -, рдЬрд╕рд▓реЗ рдЪрд░рдХреЛ рдореВрд▓реНрдп рдмрдврд╛рдЙрдБрдЫ рд╡рд╛ рдШрдЯрд╛рдЙрдБрдЫ, рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрджрдЫ - рддрд┐рдиреАрд╣рд░реВ рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрдорд╛ рдкрдирд┐ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫрдиреНред

рддрд╛рд░реНрдХрд┐рдХ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ

рдЬрдЯрд┐рд▓ рдЕрд╡рд╕реНрдерд╛рд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рддреБрд▓рдирд╛ рдорд╛рддреНрд░ рдкрд░реНрдпрд╛рдкреНрдд рдЫреИрдиред рддрдкрд╛рдИрдВрд▓реЗ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХреБрдиреИ рдкрдирд┐ рддрд╛рд░реНрдХрд┐рдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: -and, -or, -xor, -not рд░! .. рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдЬрд╕реНрддреИ рдХрд╛рдо рдЧрд░реНрдЫрдиреН, рдЬрдмрдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдореВрд▓реНрдпрд╛рдЩреНрдХрдирдХреЛ рдХреНрд░рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдХреЛрд╖реНрдардХрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

("╨в╨╡╤Б╤В" -eq "╨в╨╡╤Б╤В") -and (100 -eq 100)

-not (123 -gt 321) 

!(123 -gt 321)

рд╕рд╢рд░реНрдд рдЬрдореНрдк

PowerShell рдорд╛ рд╢рд╛рдЦрд╛ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдорд╛рдирдХ рд╣реБрдиреН: IF(IFтАжELSE, IFтАжELSEIFтАжELSE) рд░ рд╕реНрд╡рд┐рдЪред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд╕рд╛рде рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рд╣реЗрд░реМрдВ:

[int]$test = 100
if ($test -eq 100) {
      Write-Host "test = 100"
}



[int]$test = 50
if ($test -eq 100) {
       Write-Host "test = 100"
}
else {
      Write-Host "test <> 100"
}



[int]$test = 10
if ($test -eq 100) {
      Write-Host "test = 100"
}
elseif ($test -gt 100) {
      Write-Host "test > 100"
}
else {
       Write-Host "test < 100"
}



[int]$test = 5
switch ($test) {
     0 {Write-Host "test = 0"}
     1 {Write-Host "test = 1"}
     2 {Write-Host "test = 2"}
     3 {Write-Host "test = 3"}
     4 {Write-Host "test = 4"}
     5 {Write-Host "test = 5"}
     default {Write-Host "test > 5 ╨╕╨╗╨╕ ╨╖╨╜╨░╤З╨╡╨╜╨╕╨╡ ╨╜╨╡ ╨╛╨┐╤А╨╡╨┤╨╡╨╗╨╡╨╜╨╛"}
}

рд╕рд╛рдЗрдХрд▓рд╣рд░реВ

PowerShell рдорд╛ рдзреЗрд░реИ рдкреНрд░рдХрд╛рд░рдХрд╛ рд▓реВрдкрд╣рд░реВ рдЫрдиреН: WHILE, DO WHILE, DO NTIL, FOR, рд░ FOREACHред

рдкреВрд░реНрд╡ рд╢рд░реНрдд рд╕рд╣рд┐рддрдХреЛ рд▓реВрдкрд▓реЗ рдХрд╛рдо рдЧрд░реНрдЫ рдпрджрд┐/рдЬрдмрд╕рдореНрдо рдпреЛ рд╕рддреНрдп рд╣реЛ:

[int]$test = 0
while ($test -lt 10) {
      Write-Host $test
      $test = $test + 1
}

рдкреЛрд╖реНрдЯ рдХрдиреНрдбрд┐рд╕рди рднрдПрдХрд╛ рд▓реВрдкрд╣рд░реВ рдХрдореНрддрд┐рдорд╛ рдПрдХ рдкрдЯрдХ рдЪрд▓реНрдиреЗрдЫрдиреН, рдХрд┐рдирднрдиреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкрдЫрд┐ рдЕрд╡рд╕реНрдерд╛ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдиреНрдЫред рдПрдХреИ рд╕рдордпрдорд╛, DO WHILE рд╕рд░реНрдд рд╕рд╛рдБрдЪреЛ рд╣реБрдБрджрд╛ рдХрд╛рдо рдЧрд░реНрджрдЫ, рд░ рдпреЛ рдЧрд▓рдд рд╣реБрдБрджрд╛рд╕рдореНрдо рдХрд╛рдо рдЧрд░реНрджрдЫ:

[int]$test = 0
do {
      Write-Host $test
      $test = $test + 1 
}
while ($test -lt 10)



[int]$test = 0
do {
      Write-Host $test
      $test = $test + 1 
}
until ($test -gt 9)

FOR рд▓реВрдк рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдЕрдЧреНрд░рд┐рдо рдЬреНрдЮрд╛рдд рдЫ:

for ([int]$test = 0; $test -lt 10; $test++) {
       Write-Host $test
}

FOREACH рд▓реБрдкрдорд╛, рдПрд░реЗ рд╡рд╛ рд╕рдЩреНрдХрд▓рди (рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛) рдХреЛ рддрддреНрд╡рд╣рд░реВрдорд╛ рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдБрдЫ:

$test_collection = "item1", "item2", "item3"
foreach ($item in $test_collection)
{
        Write-Host $item
}

рдПрд░реНрд░реЗрд╣рд░реВ

PowerShell рдЪрд░рд╣рд░реВрд▓реЗ рдПрдХрд▓ рд╡рд╕реНрддреБрд╣рд░реВ (рдирдореНрдмрд░, рд╕реНрдЯреНрд░рд┐рдЩ, рдЗрддреНрдпрд╛рджрд┐) рдорд╛рддреНрд░ рд╣реЛрдЗрди, рдзреЗрд░реИ рд╡рд╕реНрддреБрд╣рд░реВ рдкрдирд┐ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрдЫред рддреНрдпрд╕реНрддрд╛ рдЪрд░рд╣рд░реВрдХреЛ рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░ arrays рд╣реЛред рдПрд░реНрд░реЗ рдзреЗрд░реИ рддрддреНрд╡рд╣рд░реВ, рдПрдХ рддрддреНрд╡, рд╡рд╛ рдЦрд╛рд▓реА рд╣реБрди рд╕рдХреНрдЫ, рдЕрд░реНрдерд╛рддреНред рдХреБрдиреИ рддрддреНрд╡ рд╕рдорд╛рд╡реЗрд╢ рдЫреИрдиред рдпреЛ @() рдЕрдкрд░реЗрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬреБрди рд╣рд╛рдореАрд▓рд╛рдИ рдЕрд░реНрдХреЛ рд▓реЗрдЦрдорд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫ - рдпреЛ рдПрд░реЗрдорд╛ рдЕрдиреНрдп рдПрд░реЗрд╣рд░реВ рдердкреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ (рдмрд╣реБ-рдЖрдпрд╛рдорд┐рдХ рдПрд░реЗрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ), рдПрд░реНрд░реЗрд╣рд░реВрд▓рд╛рдИ рдЖрд░реНрдЧреБрдореЗрдиреНрдЯрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдорд╛ рдкрд╛рд╕ рдЧрд░реНрджреИ, рд░ рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╣рд░реВ:

$test_array = @() #╤Б╨╛╨╖╨┤╨░╨╡╨╝ ╨┐╤Г╤Б╤В╨╛╨╣ ╨╝╨░╤Б╤Б╨╕╨▓

рдЬрдм рдПрд░реНрд░реЗ рдкреНрд░рд╛рд░рдореНрдн рд╣реБрдиреНрдЫ, рдпрд╕рдХреЛ рдорд╛рдирд╣рд░реВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо (рд╡рд┐рд╢реЗрд╖ рдЕрдкрд░реЗрдЯрд░ ,) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рд╕реВрдЪреАрдмрджреНрдз рд╣реБрдиреНрдЫрдиреН:

$test_array = @(1, 2, 3, 4) # ╤Б╨╛╨╖╨┤╨░╨╡╨╝ ╨╝╨░╤Б╤Б╨╕╨▓ ╨╕╨╖ ╤З╨╡╤В╤Л╤А╨╡╤Е ╤Н╨╗╨╡╨╝╨╡╨╜╤В╨╛╨▓ 

рдзреЗрд░реИ рдЬрд╕реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, @() рдЕрдкрд░реЗрдЯрд░ рдореЗрдЯрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ:

$test_array = 1, 2, 3, 4

рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдПрдХ рддрддреНрд╡рдХреЛ рдПрд░реЗ рдкреНрд░рд╛рд░рдореНрдн рдЧрд░рд┐рдПрдХреЛ рдЫ

$test_array = , 1

рдПрд░реЗ рддрддреНрд╡рд╣рд░реВ рд╢реВрдиреНрдп-рдЖрдзрд╛рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд░ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрдкрд░реЗрдЯрд░ (рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ) рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд╣реБрдБрдЪ рдЧрд░рд┐рдиреНрдЫ:

$test_array[0] = 1

рддрдкрд╛рдИрдВрд▓реЗ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдорджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдзреЗрд░реИ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рд╣рд░реВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╕рдорд╛рд╡реЗрд╢ред рдЖрд╡рд░реНрддреА:

$test_array = "╨╛╨┤╨╕╨╜", "╨┤╨▓╨░", "╤В╤А╨╕", "╤З╨╡╤В╤Л╤А╨╡"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдЕрдкрд░реЗрдЯрд░ .. (рджреБрдИ рдереЛрдкреНрд▓рд╛рд╣рд░реВ - рджрд╛рдпрд░рд╛ рдЕрдкрд░реЗрдЯрд░) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдерд┐рд▓реНрд▓реЛ рд░ рддрд▓реНрд▓реЛ рд╕реАрдорд╛ рднрд┐рддреНрд░ рдкреВрд░реНрдгрд╛рдВрдХрд╣рд░реВрдХреЛ рдПрд░реНрд░реЗ рдлрд░реНрдХрд╛рдЙрдБрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ 1..4 рд▓реЗ рдЪрд╛рд░ рддрддреНрд╡ @(1, 2, 3, 4) рдХреЛ рдПрд░реЗ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрджрдЫ, рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди 8..5 рд▓реЗ рдПрд░реЗ @(8, 7, 6, 5) рд▓рд╛рдИ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрджрдЫред

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рджрд╛рдпрд░рд╛ рдЕрдкрд░реЗрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рддрдкрд╛рдИрдВрд▓реЗ рдПрд░реЗ ($test_array = 1..4) рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд╡рд╛ рд╕реНрд▓рд╛рдЗрд╕ (рд╕реНрд▓рд╛рдЗрд╕) рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдЕрд░реНрдерд╛рддреНред рдПрдЙрдЯрд╛ рдПрд░реНрд░реЗрдмрд╛рдЯ рдЕрд░реНрдХреЛрдмрд╛рдЯ рд╕реВрдЪрдХрд╛рдЩреНрдХрд╣рд░реВрдХреЛ рд╕рд╛рдердорд╛ рддрддреНрд╡рд╣рд░реВрдХреЛ рдЕрдиреБрдХреНрд░рдоред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдЛрдгрд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ -1 рд▓реЗ array рдХреЛ рдЕрдиреНрддрд┐рдо рддрддреНрд╡, -2 - рдЙрдкрд╛рдиреНрддреНрдп рдПрдХ, рд░ рдпрд╕реНрддреИ рдЕрдиреНрдпрд▓рд╛рдИ рдЬрдирд╛рдЙрдБрдЫред

$test_array = "╨╛╨┤╨╕╨╜", "╨┤╨▓╨░", "╤В╤А╨╕", "╤З╨╡╤В╤Л╤А╨╡"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]

рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдкреВрд░реНрдгрд╛рдВрдХ рдПрд░реЗ рдорд╛рдирд╣рд░реВ рдбреЗрдЯрд╛ рдПрд░реЗрдХреЛ рдЕрдзрд┐рдХрддрдо рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдорд╛рди рднрдиреНрджрд╛ рдареВрд▓реЛ рд╣реБрди рд╕рдХреНрдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╕рдмреИ рдорд╛рдирд╣рд░реВ рдЕрдиреНрддрд┐рдордорд╛ рдлрд░реНрдХрд╛рдЗрдиреНрдЫ:

$test_array[0..100]

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдПрдХрд▓ рдЕрд╕реНрддрд┐рддреНрд╡рд╣реАрди рдПрд░реЗ рддрддреНрд╡ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, $null рдлрд░реНрдХрд╛рдЗрдиреНрдЫред

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

PowerShell рдорд╛, array рдорд╛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рддрддреНрд╡рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рд╣реБрди рд╕рдХреНрдЫрдиреН рд╡рд╛ рдХрдбрд╛ рд░реВрдкрдорд╛ рдЯрд╛рдЗрдк рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:

$test_array = 1, 2, "╤В╨╡╤Б╤В", 3, 4
for ([int]$i = 0; $i -lt $test_array.count; $i++)
{
          Write-Host $test_array[$i]
}

рдЬрд╣рд╛рдБ $test_array.count рдЧреБрдг array рддрддреНрд╡рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд╣реЛред

рдХрдбрд╛ рдЯрд╛рдЗрдк рдЧрд░рд┐рдПрдХреЛ рдПрд░реЗ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдЙрджрд╛рд╣рд░рдг:

[int[]]$test_array = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ

PowerShell рднрд╛рд╖рд╛рдорд╛ рдЕрд░реНрдХреЛ рдЖрдзрд╛рд░рднреВрдд рдкреНрд░рдХрд╛рд░рдХрд╛ рдЪрд░рд╣рд░реВ рд╣реНрдпрд╛рд╕ рдЯреЗрдмрд▓рд╣рд░реВ рд╣реБрдиреН, рдЬрд╕рд▓рд╛рдИ рдПрд╕реЛрд╕рд┐рдПрдЯрд┐рдн рдПрд░реЗрд╣рд░реВ рдкрдирд┐ рднрдирд┐рдиреНрдЫред рд╣реНрдпрд╛рд╕рдЯреЗрдмрд▓рд╣рд░реВ JSON рд╡рд╕реНрддреБрд╣рд░реВ рдЬрд╕реНрддреИ рд╣реБрдиреН рд░ рдХреБрдЮреНрдЬреА-рдорд╛рдирдХреЛ рдЖрдзрд╛рд░рдорд╛ рдмрдирд╛рдЗрдПрдХрд╛ рдЫрдиреНред рд╕рд╛рдзрд╛рд░рдг arrays рдХреЛ рд╡рд┐рдкрд░реАрдд, рддрд┐рдиреАрд╣рд░реВрдХрд╛ рддрддреНрд╡рд╣рд░реВрд▓рд╛рдИ рдирд╛рдорд┐рдд рдХреБрдЮреНрдЬреАрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдБрдЪ рдЧрд░рд┐рдиреНрдЫ, рдЬреБрди рд╡рд╕реНрддреБрдХреЛ рдЧреБрдгрд╣рд░реВ рд╣реБрдиреН (рддрдкрд╛рдИрд▓реЗ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрдкрд░реЗрдЯрд░ - рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХрд╣рд░реВ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ)ред

рдЦрд╛рд▓реА рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛ @ рдкреНрд░рддреАрдХ рд░ рдЕрдкрд░реЗрдЯрд░ рдХреЛрд╖реНрдардХ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдШреЛрд╖рдгрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ:

$test_hashtable = @{}

рдШреЛрд╖рдгрд╛ рдЧрд░реНрджрд╛, рддрдкрд╛рдИрдВрд▓реЗ рддреБрд░реБрдиреНрддреИ рдХреБрдЮреНрдЬреАрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдорд╛рдирд╣рд░реВ рддреЛрдХреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

$test_hashtable = @{one="╨╛╨┤╨╕╨╜"; two="╨┤╨▓╨░"; three="╤В╤А╨╕"; "some key"="some value"}

рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рдорд╛ рдПрдЙрдЯрд╛ рддрддреНрд╡ рдердкреНрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдирднрдПрдХреЛ рдХреБрдЮреНрдЬреА рддреЛрдХреНрдиреБрдкрд░реНрдЫ, рд╡рд╛ Add () рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпрджрд┐ рдЕрд╡рд╕реНрдерд┐рдд рдХреБрдЮреНрдЬреАрдорд╛ рдЕрд╕рд╛рдЗрдирдореЗрдиреНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рдпрд╕рдХреЛ рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреЗрдЫред рд╣реНрдпрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛рдмрд╛рдЯ рддрддреНрд╡ рд╣рдЯрд╛рдЙрди Remove() рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "╤З╨╡╤В╤Л╤А╨╡")
$test_hashtable.five = "╨┐╤П╤В╤М"
$test_hashtable['five'] = "╨╖╨░╨╝╨╡╨╜╤П╨╡╨╝ ╨╖╨╜╨░╤З╨╡╨╜╨╕╨╡"
$test_hashtable.Remove("one")

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдпрд╕ рдкреНрд░рдХрд╛рд░рдХрд╛ рдЪрд░рд╣рд░реВ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд░ cmdlets рд▓рд╛рдИ рддрд░реНрдХрдХреЛ рд░реВрдкрдорд╛ рдкрд╛рд╕ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ - рдЕрд░реНрдХреЛ рд▓реЗрдЦрдорд╛ рд╣рд╛рдореА рдпреЛ рдХрд╕рд░реА рдЧрд░рд┐рдиреНрдЫ рднрдиреЗрд░ рдЕрдзреНрдпрдпрди рдЧрд░реНрдиреЗрдЫреМрдВ, рд░ рдЕрд░реНрдХреЛ рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░ - PSCustomObject рд▓рд╛рдИ рдкрдирд┐ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрдиреЗрдЫреМрдВред

рдХрд╛рд░реНрдпрд╣рд░реВ

PowerShell рдорд╛ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд╣рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рд╕рдмреИ рдЪреАрдЬрд╣рд░реВ рдЫрдиреНред рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд╡рд░реНрдгрди рдЧрд░реНрди, рдкреНрд░рдХрд╛рд░реНрдп рд╢рдмреНрдж рдкреНрд░рдХрд╛рд░реНрдп рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЬрд╕ рдкрдЫрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдкреНрд░рдХрд╛рд░реНрдпрдХреЛ рдирд╛рдо рд░ рдЕрдкрд░реЗрдЯрд░ рдХреЛрд╖реНрдардХрдорд╛ рд╕рдВрд▓рдЧреНрди рдореБрдЦреНрдп рднрд╛рдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкреНрд░рдХрд╛рд░реНрдпрдорд╛ рддрд░реНрдХрд╣рд░реВ рдкрд╛рд╕ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рддреБрд░реБрдиреНрддреИ рдХреЛрд╖реНрдардХрдорд╛ рдирд╛рдо рдкрдЫрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

function ╨╕╨╝╤П-╤Д╤Г╨╜╨║╤Ж╨╕╨╕ (╨░╤А╨│╤Г╨╝╨╡╨╜╤В1, ..., ╨░╤А╨│╤Г╨╝╨╡╨╜╤ВN) 
{ 
        ╤В╨╡╨╗╨╛-╤Д╤Г╨╜╨║╤Ж╨╕╨╕ 
} 

рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ рдЬрд╣рд┐рд▓реЗ рдкрдирд┐ рдирддрд┐рдЬрд╛ рдлрд░реНрдХрд╛рдЙрдБрдЫ - рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдПрдХ рднрдиреНрджрд╛ рдмрдвреА рдЫрдиреН рднрдиреЗ, рдпреЛ рдпрд╕рдХреЛ рд╕рдмреИ рдХрдердирд╣рд░реВрдХреЛ рдирддрд┐рдЬрд╛рд╣рд░реВрдХреЛ рдПрд░реЗ рд╣реЛред рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдПрдХ рдорд╛рддреНрд░ рдХрдерди рдЫ рднрдиреЗ, рд╕рдореНрдмрдиреНрдзрд┐рдд рдкреНрд░рдХрд╛рд░рдХреЛ рдорд╛рддреНрд░ рдорд╛рди рдлрд░реНрдХрд╛рдЗрдиреНрдЫред рд░рд┐рдЯрд░реНрди $value рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд▓реЗ рдкрд░рд┐рдгрд╛рдо рдПрд░реЗрдорд╛ $value рдореВрд▓реНрдп рднрдПрдХреЛ рддрддреНрд╡ рдердкреНрдЫ рд░ рдХрдерди рд╕реВрдЪреАрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рд░реЛрдХреНрдЫ, рд░ рдЦрд╛рд▓реА рдкреНрд░рдХрд╛рд░реНрдпрд▓реЗ $null рдлрд░реНрдХрд╛рдЙрдБрдЫред

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдирдореНрдмрд░ рд╕реНрдХреНрд╡рд╛рдпрд░ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдкреНрд░рдХрд╛рд░реНрдп рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ:

function sqr ($number)
{
      return $number * $number
}

рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдкреНрд░рдХрд╛рд░реНрдпрдХреЛ рдореБрдЦреНрдп рднрд╛рдЧрдорд╛, рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдиреБ рдЕрдШрд┐ рдШреЛрд╖рд┐рдд рдХреБрдиреИ рдкрдирд┐ рдЪрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд░ PowerShell рдорд╛ рдХрд▓ рдЧрд░реНрдиреЗ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд▓рд╛рдЧреНрди рд╕рдХреНрдЫ: рддрд░реНрдХрд╣рд░реВ (рдпрджрд┐ рдХреБрдиреИ рд╣реЛ рднрдиреЗ) рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рд╕рдВрд▓рдЧреНрди рд╣реБрдБрджреИрдирдиреН рд░ рдЦрд╛рд▓реА рдард╛рдЙрдБрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЫреБрдЯреНрдпрд╛рдЗрдПрдХрд╛ рд╣реБрдиреНрдЫрдиреНред

sqr 2

рд╡рд╛ рдпреЛ рдЬрд╕реНрддреИ:

sqr -number 2

рддрд░реНрдХрд╣рд░реВ рдкрд╛рд░рд┐рдд рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛рдХреЛ рдХрд╛рд░рдг, рдкреНрд░рдХрд╛рд░реНрдп рдЖрдлреИрдВрд▓рд╛рдИ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдВ рдХреЛрд╖реНрдардХрд╣рд░реВрдорд╛ рд╕рдВрд▓рдЧреНрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

function test_func ($n) {}
test_func -eq $null     # ╤Д╤Г╨╜╨║╤Ж╨╕╤П ╨╜╨╡ ╨▓╤Л╨╖╤Л╨▓╨░╨╗╨░╤Б╤М
(test_func) -eq $null   # ╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В ╨▓╤Л╤А╨░╨╢╨╡╨╜╨╕╤П тАФ $true

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдкреНрд░рдХрд╛рд░реНрдпрдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрджрд╛, рддрдкрд╛рдЗрдБ рддрд░реНрдХрд╣рд░реВрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рдирд╣рд░реВ рдЕрд╕рд╛рдЗрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

function func ($arg = value) {
         #╤В╨╡╨╗╨╛ ╤Д╤Г╨╜╨║╤Ж╨╕╨╕
}

рддреНрдпрд╣рд╛рдБ рдлрдВрдХреНрд╢рди рдЖрд░реНрдЧреБрдореЗрдиреНрдЯрд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрд░реНрдХреЛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЫ, рдердк рд░реВрдкрдорд╛, рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдмрд╛рдЯ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдкрдвреНрди рд╕рдХрд┐рдиреНрдЫ - рдпреЛ рд╕рдмреИ рдЕрд░реНрдХреЛ рд▓реЗрдЦрдорд╛ рдХрд╛рдордорд╛ рдЖрдЙрдиреЗрдЫ, рдЬрдм рд╣рд╛рдореА рдирд┐рд░реНрдпрд╛рдд рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд╣реЗрд░реНрдЫреМрдВ рд░ рдЖрдлреНрдиреИ cmdlets рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВред

рддреНрд░реБрдЯрд┐ рдкреНрд░рд╢реЛрдзрди

PowerShell рд╕рдБрдЧ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН...рдХреНрдпрд╛рдЪ...рдЕрдиреНрддрдорд╛ рдЕрдкрд╡рд╛рджрд╣рд░реВ рд╣реНрдпрд╛рдиреНрдбрд▓ рдЧрд░реНрдиреЗ рд╕рдВрдпрдиреНрддреНрд░ рдЫред рдкреНрд░рдпрд╛рд╕ рдмреНрд▓рдХрд▓реЗ рдХреЛрдб рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ рдЬрд╕рдорд╛ рддреНрд░реБрдЯрд┐ рд╣реБрди рд╕рдХреНрдЫ, рд░ рдХреНрдпрд╛рдЪ рдмреНрд▓рдХрд▓реЗ рдпрд╕рдХреЛ рд╣реНрдпрд╛рдиреНрдбрд▓рд░ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рддреНрд░реБрдЯрд┐ рдерд┐рдПрди рднрдиреЗ, рдпреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реБрдБрджреИрдиред рдЕрдиреНрддрдорд╛ рдмреНрд▓рдХ рдкреНрд░рдпрд╛рд╕ рдмреНрд▓рдХ рдкрдЫрд┐ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реБрдиреНрдЫ, рддреНрд░реБрдЯрд┐рдХреЛ рдШрдЯрдирд╛рдХреЛ рд╡рд╛рд╕реНрддрд╛ рдирдЧрд░реА, рд░ рддреНрдпрд╣рд╛рдБ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдЕрдкрд╡рд╛рджрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдХреНрдпрд╛рдЪ рдмреНрд▓рдХрд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫрдиреНред рдЕрдкрд╡рд╛рдж рдЖрдлреИрдВ рдПрдХ рдЕрдШреЛрд╖рд┐рдд рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЪрд░ ($_) рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ рд░ рд╕рдЬрд┐рд▓реИ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рддрд▓рдХреЛ рдЙрджрд╛рд╣рд░рдгрдорд╛, рд╣рд╛рдореА рдЕрд╡реИрдз рдорд╛рди рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛ рд▓рд╛рдЧреВ рдЧрд░реНрдЫреМрдВ:

try {

        [int]$test = Read-Host "╨Т╨▓╨╡╨┤╨╕╤В╨╡ ╤З╨╕╤Б╨╗╨╛"
        100 / $test

} catch {

         Write-Warning "╨Э╨╡╨║╨╛╤А╤А╨╡╨║╤В╨╜╨╛╨╡ ╤З╨╕╤Б╨╗╨╛"
         Write-Host $_

}

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рдпрд╕рд▓реЗ PowerShell рднрд╛рд╖рд╛рдорд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдХрд╛ рдЖрдзрд╛рд░рднреВрдд рдХреБрд░рд╛рд╣рд░реВрдХреЛ рд╕рдореАрдХреНрд╖рд╛рд▓рд╛рдИ рд╕рдорд╛рдкреНрдд рдЧрд░реНрдЫред рдирд┐рдореНрди рд▓реЗрдЦрд╣рд░реВрдорд╛, рд╣рд╛рдореА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рднреЗрд░рд┐рдПрдмрд▓рд╣рд░реВ, рд╕рдЩреНрдХрд▓рдирд╣рд░реВ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рд╣рд░реВ, рдХрд╛рд░реНрдпрд╣рд░реВ, рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд░ рдЕрдиреБрдХреВрд▓рди cmdlets рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ, рд╕рд╛рдереИ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩрдХрд╛ рд╕рд╛рде рдХрд╛рдо рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдердк рд╡рд┐рд╕реНрддрд╛рд░рдорд╛ рдЕрдзреНрдпрдпрди рдЧрд░реНрдиреЗрдЫреМрдВред

Windows PowerShell рдХреЗ рд╣реЛ рд░ рдпреЛ рдХреЗрд╕рдБрдЧ рдЦрд╛рдЗрдиреНрдЫ? рднрд╛рдЧ реи: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рдХреЛ рдкрд░рд┐рдЪрдп

рд╕реНрд░реЛрдд: www.habr.com

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