áááá¯ááºážááŒá±á¬ááºážá¡áá Unix á áá áºáá»á¬ážááŸá command-line utilities áá»á¬ážááẠWindows ááẠááá¯áá±á¬ááºážá¡á±á¬áẠáá®ááœááºáá¬ážáá±á¬áºáááºáž ááŒá±ááŸááºážáá»ááºá¡áá áºáá áºáᯠááœááºážáá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ á¡ááŒá±á¡áá±ááŸá¬ ááŒá±á¬ááºážáá²ááœá¬ážáááºá
PowerShell ááᯠááá¹ááááºáá¯ááºáá¯á¶ážáá¯ááºáááºážáá»á¬ážá á¡áá¬ááá¹áá¯áááºáá±á¬á ááŸáá·áº áá¯ááºáá±á¬ááºááá¯ááºáá±á¬ áááá¯ááááºáá»á¬ážáá«ááŸááá±á¬ ááŒááºá
ááºáá»á¬ážáá«ááŸááá±á¬ á¡áááá¹áá¬ááºááœáá·áºááá¯áá¬ážáá±á¬á áá«áá¬ááá¯ááºážá¡áá»á¬ážá¡ááŒá¬ážáá¬áá¬á
áá¬ážááŒáá·áº áá¬ááºááœáŸááºážáá±ážáá¬ážááá¯ááºáááº- á¡ááŒá±á¡áá±á¡á á¡ááá¯ááºážá¡áááºáá»á¬ážá ááœááºážáááºáá»á¬ážá ááááºážááŸááºáá»á¬ážá áááºážáá»ááºážááŸá¯áá»á¬ážá hash ááá¬ážáá»á¬ážá á¡áááºážáá»á¬ážá á¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠááá¯ááºááœááºááŒááºážá¡ááŒáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá cmdlets ááŸáá·áº ááá¯ááºááá¯ááºážáá»á¬ážá
áá¬áááá¬:
áááºááẠáááºááá·áºá á¬áá¬ážáááºážááŒááºááŸá¯ááœááºáááᯠáá¯ááºáá±ážááá¯ááºááẠááá¯á·ááá¯áẠáá±á«ááºážá ááºááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááºáááºážáá»ááºááᯠá¡áá¯á¶ážááŒá¯á á¡ááœááºáá¯á¶ážáááºážáááºážááŸá¬ Microsoft áá¬áá¬áááºáááºááŸá¯á áá áºáá»á¬ážáá«ááŸáááá·áº Windows PowerShell ISE ááᯠáá°áááºááŒá áºáááºá ááŸá¯ááºááœá±ážáá±á¬ script áá»á¬áž á¡ááœááºáᬠááá¯á¡ááºáááº- ááá¯áá±á¬ááºážáá±á¬ command áá»á¬ážááẠá¡ááŒááºá¡ááŸáẠáá¯á¶á·ááŒááºáá¯ááºáá±á¬ááºááẠááá¯ááá¯ááœááºáá°áá«áááºá
ááŸááºáá»ááºáá»á¬áž
ááŸááºáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááẠááá·áºáá»á±á¬áºáá±á¬ indentation ááŸáá·áº whitespace ááá¯á·ááŸáá·áºá¡áá° áá±á¬ááºážááœááºáá±á¬ programming style á áá áºá áááºáá áºááá¯ááºážá¡ááŒá Ạáá°ááááº-
# ÐÐ»Ñ ÑÑÑПÑÐœÑÑ
кПЌЌеМÑаÑОев ОÑпПлÑзÑеÑÑÑ ÑОЌвПл ÑеÑеÑкО â ÑПЎеÑжОЌПе ÑÑÑПкО ОМÑеÑпÑеÑаÑÐŸÑ ÐœÐµ ПбÑабаÑÑваеÑ.
<#
Так ПбПзМаÑаÑÑÑÑ ÐœÐ°ÑалП О ÐºÐŸÐœÐµÑ Ð±Ð»ÐŸÑМПгП кПЌЌеМÑаÑОÑ.
ÐаклÑÑеММÑй ÐŒÐµÐ¶ÐŽÑ ÐœÐžÐŒÐž ÑекÑÑ ÐžÐœÑеÑпÑеÑаÑÐŸÑ ÐžÐ³ÐœÐŸÑОÑÑеÑ.
#>
ááááºážááŸááºáá»á¬ážááŸáá·áº áááºážááá¯á·á á¡áá»áá¯ážá¡á á¬ážáá»á¬áž
PowerShell ááŸá ááááºážááŸááºáá»á¬ážááẠá¡áá¬ááá¹áá¯áá»á¬ážáᯠá¡áááºáá±ážáá¬ážáááºá áááºážááá¯á·áá¡áááºáá»á¬ážááœáẠá¡á±á¬ááºáááºážáá»áá±á¬ á¡áá¹ááá¬á¡ááŒáẠá¡áá¹ááá¬áá»á¬ážááŸáá·áº áá¶áá«ááºáá»á¬áž áá«áááºááá¯ááºáááºá $ áááºá¹áá±áááᯠáá¬áááºááŸá±á·ááŸá¬ á¡ááŒá²áá¯á¶ážáá¬ážááŒá®áž ááááºážááŸááºáá áºáá¯ááᯠááŒá±ááŒá¬ááá¯á·á¡ááœááºá á áá¬ážááŒááºááᯠááá¬ážáááºá¡áááºáá áºáá¯áá±ážááá¯á· áá¯á¶áá±á¬ááºáá«áááºá
variable áá
áºáá¯ááᯠá
áááºááẠ(áááºážááᯠáááºááá¯ážáá
áºáᯠáááºááŸááºáááº)á assignment operator (symbol =) ááᯠá¡áá¯á¶ážááŒá¯áááº-
$test = 100
á¡ááẠááá¯á·ááá¯áẠáááºááá¯ážáá»á¬ážááŸá±á·ááœáẠáááºážáá¡áá»áá¯ážá¡á á¬ážááᯠá áá¯áááºážááœááºážááœááºážáá»á¬áž (áá¬á áºá¡á±á¬áºááá±áá¬á¡áá»áá¯ážá¡á á¬áž) ááœáẠáááºááŸááºááŒááºážááŒáá·áº ááááºážááŸááºáá áºáá¯ááᯠááŒá±áá¬ááá¯ááºáááº-
[int]$test = 100
$test = [int]100
PowerShell ááŸá ááááºážááŸááºáá»á¬ážááẠ.NET Core ááœáẠá¡ááŒá±áá¶áá¬ážáá±á¬ á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááŸáá·áº á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠá¡ááŒá±áá¶áá¬ážáá±á¬ áá¯ááºááá¹áááá»á¬ážááŸáá·áº áááºážáááºážáá»á¬ážááŒáá·áº ááŒáá·áºá á¯á¶áá±á¬ á¡áá¬áá»á¬áž (á¡áááºážá¡á á¬ážáá»á¬áž) ááŒá áºááŒá±á¬ááºáž áá¬ážáááºááẠá¡áá±ážááŒá®ážáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠá¡ááá ááá¯á·ááᯠá á¬áááºážááŒá¯á á¯áá¬ážáá«áááºá
(.NET á¡áááºážá¡á á¬áž) ááá¯ááºááá·áºáá«
áá±á«áºááŒáá»ááº
áá¯ááºá¥ááá¬
[string] á áá áºáStringáá°áá®áá¯áẠá á¬áááºáž
$test = "á
ááºážáááºááŸá¯"
$test = 'á
ááºážáááºááŸá¯'
áá°áá®áá¯áẠá¡áá¹ááᬠ(16 bits)
[char]$test = 'á' [bool] System.Booleanboolean á¡áá»áá¯ážá¡á á¬áž (Boolean True ááá¯á·ááá¯áẠFalse)
[bool]$test = $true [int] System.Int32áá¯á¶ážááá·áºááŸá áºáá ẠááááºážááŒáá·áº (32 áá áº)
[int]$test = 123456789 [long] System.Int64ááŒá±á¬ááºááá·áºáá±ážáá ẠááááºážááŒáá·áº (64 áá áº)
[long]$test = 12345678910 [single] System.Singlefloating point áá¶áá«áẠ32 bits ááŸááºáááºá
[single]$test = 12345.6789 [double]System.Doubleá¡ááŸáẠ64 bits (8 bytes)
[double]$test = 123456789.101112 [decimal]á áá áºááá¿á128-bit floating point áá¶áá«áẠ(d ááŒáá·áºá¡áá¯á¶ážáááºááẠááá¯á¡ááºáááº)
[decimal]$test = 12345.6789d [DateTime]System.DateTimeáááºá áœá²ááŸáá·áºá¡áá»áááº
$test = GetDate
[array] System.Object[]ááŒááºá ááºá¡ááœáŸááºážááááºáž 0 ááŸá áááºááá·áº array áá áºáá¯
$test_array = 1á 2á "test" 3á 4
[hashtable] System.Collections.Hashtablehash tables áá»á¬ážááẠáááá¬áá¡á áááºáá±á¬ááºáá¬ážáá±á¬ áá±á¬á·áá»á¬ážááŒáá·áº áá±á«ááºážá ááºáá¬ážáá±á¬ array áá»á¬ážááŒá áºáááº- @{key = "value"}
$test_hashtable = @{one="one"; two=" two"; three="áá¯á¶áž"}
PowerShell ááẠááœááºááá¯ááºáá±á¬ á¡áá»áá¯ážá¡á á¬ážááá¯á· ááŒá±á¬ááºážáá²ááŒááºážááᯠáá¶á·ááá¯ážáá±ážáááºá ááá¯á·á¡ááŒááºá ááááºážááŸááºá¡áá»áá¯ážá¡á á¬ážááᯠá¡áá»ááºá¡ááŒáẠááŒá±á¬ááºážáá²ááá¯ááºááẠ(á¥ááá¬á assignment á¡á±á¬áºááá±áá¬ááᯠá¡áá¯á¶ážááŒá¯ááŒááºáž)á áááºážá¡á¬áž á¡áááºážá¡ááŒáẠááááºááŸááºáá¬ážáá«á - á€ááá á¹á ááœááºá á áá¬ážááŒááºááẠá¡ááŸá¬ážá¡ááœááºážáá áºáᯠáá±ážáááá·áºáááºá GetType() method ááá¯áá±á«áºááŒááºážááŒáá·áº áááºááẠááááºááá°áá¬á០ááááºážááŸááºá¡áá»áá¯ážá¡á á¬ážááᯠáá¯á¶ážááŒááºááá¯ááºáááº-
$test.GetType().FullName
variable áá»á¬ážááᯠá
á®áá¶ááá·áºááœá²áááºá¡ááœáẠcmdlets áá»á¬ážá
áœá¬ááŸááááºá áááºážááá¯á·á
á¬áááºážááᯠá¡áááºááŒá±áá±á¬áá¯á¶á
á¶ááŒáá·áº áá±á¬áºááŒáááº-
Get-Command -Noun Variable | ft -Property Name, Definition -AutoSize -Wrap
ááŒá±áá¬áá¬ážáá±á¬ ááááºážááŸááºáá»á¬ážááŸáá·áº áááºážááá¯á·á áááºááá¯ážáá»á¬ážááᯠááŒáá·áºááŸá¯áááºá áááºááẠá¡áá°áž cmdlet ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
Get-Variable | more
á€áááºážáááºážááẠá¡ááœááºáááºáá²áá¯á¶ááááºá á¡á±á¬áºááá±áá¬áá»á¬ážááŸáá áºááá·áº variable áá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºááẠááá¯á·ááá¯áẠáááºážááá¯á·á áá¯ááºááá¹áááá»á¬ážááŸáá·áº áááºážáááºážáá»á¬ážááᯠááá¯ááºááá¯ááºáááºáá±á¬ááºááŒááºážááŒáá·áº ááá¯ááá¯á¡áááºááŒá±áá«áááºá ááá¯á·áá±á¬áºáááºážá cmdlets ááẠááá·áºá¡á¬áž á¡ááá¯áá±á¬ááºá¡áá»áá¯á·ááᯠáááºááŸááºááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááẠááŸááá±ááá¯ááºááœáá·áºááŸááááºá á¡áá¯á¶ážááŒá¯áá° variable áá»á¬ážááᯠáááºááŸá session á¡ááœááºážáᬠáááºááŸááºááŒá±á¬ááºáž áá¬ážáááºááẠá¡áá±ážááŒá®ážáá«áááºá ááœááºááá¯ážááºááááºááœá¬ážáá±á¬á¡áá« ááá¯á·ááá¯áẠáá¬ááºááœáŸááºážá¡áá¯á¶ážáááºááá·áºá¡áá« áááºážááá¯á·ááᯠáá»ááºáá áºááá¯ááºáááºá
á áá áºááŒá±á¬ááºážáá²ááŸá¯áá»á¬áž
á¡áá¯á¶ážááŒá¯áá°á០ááŒá±áá¬áá¬ážááá·áºá¡áá¬áá»á¬ážá¡ááŒááºá áááºááŸáá ááºááŸááºááŒá®ážáá¯á¶ážááŒá®ážáá±á¬áẠááá»ááºáá áºááá¯ááºáá±á¬ built-in (á áá áº) ááááºážááŸááºáá»á¬ážááŸááááºá áááºážááá¯á·ááᯠá¡áá»áá¯ážá¡á á¬áž ááŸá áºáá»áá¯ážááœá²áá¬ážááŒá®áž PowerShell ááŒááºáááºáá±áá¬ááᯠáááºážááá¯á·ááá¯ááºááá¯áẠááááºááŸááºááá¯ááºáá±á¬ áá¬áááá¹ááááºááá¯ážáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáááºááŸááºááááá¯ááºáá±á¬ á¡ááá¯á¡áá»á±á¬ááºááááºážááŸááºáá»á¬ážááœáẠááááºážáááºážáá¬ážáááºá áááºážááá¯á·ááœáẠá¥ááá¬á¡á¬ážááŒáá·áº $PWD-
$PWD.Path
á¡áá¯á¶ážááŒá¯áá°á¡ááŒáá¯ááºáá»á¬ážááᯠááááºážáááºážááẠáŠážá
á¬ážáá±áž ááááºážááŸááºáá»á¬áž ááá¯á¡ááºááŒá®áž ááŒá±á¬ááºážáá²ááá¯ááºááá·áº áááºááá¯ážáá»á¬ážá á¥ááá¬á¡á¬ážááŒáá·áºá $ErrorActionPreference ááá¯á¡áá¯á¶ážááŒá¯á ááá±áá¯á¶ážááá¯ááºáá±á¬á¡ááŸá¬ážáá»á¬ážááŒá
áºáá±á«áºááŒááºážá¡ááœáẠá¡áááá·áºááŒááºáá±ážáá°ááá¯á¶á·ááŒááºááŸá¯ááᯠáááºááŸááºáá¬ážáááºá
ááŒá±ááŒá¬áá¬ážáá±á¬ variable áá»á¬ážááá¯áááºáá±á¬ááºáááºá¡ááœáẠá¡á±á¬áºááá±áá¬áá»á¬ážááŸáá·áº cmdlets á¡ááŒááºá Variable- pseudo-accumulator áá áºáá¯ááŸááááºá á¡ááŒá¬áž drive áá»á¬ážááŸáá·áº ááŸááºááœá²á áááºážááŸáá·áº ááœá²áááºáá¯ááºáá±á¬ááºááá¯ááºááŒá®áž á€ááá á¹á ááœáẠááááºážááŸááºáá»á¬ážááẠááá¯ááºá áá áºá¡áá¬ááá¹áá¯áá»á¬ážááŸáá·áº áááºáá°áááº-
Get-ChildItem Variable: | more
ááá¯á·ááá¯ááº
ls Variable: | more
áááºáááºáá»á¬áž
PowerShell ááŸá ááááºážááŸááºáá»á¬ážá¡ááœááºá áááºááẠ(Scope) á ááá±á¬ááá¬áž ááŸááá«áááºá ááá¹áá¬áá¯á¶ážááá¯ááºáᬠáááºááẠ(Global) á áá¯ááºáá±á¬ááºááŸá¯ááẠáááºááŸá á ááºááŸááºáá áºáá¯áá¯á¶ážááŸáá·áº áááºááá¯ááºááẠ- á¥ááá¬á á áá áºááŒá±á¬ááºážááœá²áá»á¬áž áá«áááºáááºá Local (Local) variable áá»á¬ážááᯠáááºážááá¯á·áááºááŸááºáá¬ážááá·áº áááºáááºááœááºáᬠáááá¯ááºáááº- áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯á¡ááœááºážááœáẠááŒá±á¬áá«á Script (Script) á áááºááẠááá±á¬ááá¬ážáááºáž ááŸááá±á¬áºáááºáž script command áá»á¬ážá¡ááœááºá áááºážááẠá¡ááŒá±áá¶á¡á¬ážááŒáá·áº local ááŒá áºáááºá áá¯á¶áá±á¡á¬ážááŒáá·áºá variable áá»á¬ážááá¯ááŒá±ááŒá¬áá±á¬á¡áá«á áááºážááá¯á·ááᯠlocal scope áá±ážáá¬ážááŒá®ážá áááºážááá¯ááŒá±á¬ááºážáá²áááºá¡ááœááºá áááºááẠ$Global: variable = value áá²á·ááá¯á·áá±á¬ á¡áá°ážáááºáá±á¬ááºááŸá¯áá áºáᯠááá¯á¡ááºáá«áááºá
á¥ááá¬á á€áá²á·ááá¯á·áá±á¬á
$Global:test = 100
Environment variables (áááºáááºážáá»ááº)
á¡ááŒá¬áž pseudo-driveá Env: ááᯠPowerShell ááŸáááŸáááá¯ááºááŒá®áž áááºáááºážáá»ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá shell á áááºáá±á¬á¡áá«á áááºážááá¯á·ááẠparent process (ááá¯ááá¯áááºááŸá¬ áááºááŸá session ááá¯á áááºááá·áºáááá¯ááááºááŸ) ááŸáá°ážáá°ááŒááŒá®áž á¡áá»á¬ážá¡á¬ážááŒáá·áº áááºážááá¯á·ááááŠážáááºááá¯ážáá»á¬ážááẠcontrol panel ááŸááááºááá¯ážáá»á¬ážááŸáá·áºá¡áá°áá°áááºááŒá áºáá«áááºá áááºáááºážáá»áẠááááºážááŸááºáá»á¬ážááᯠááŒáá·áºááẠGet-ChildItem cmdlet ááá¯á·ááá¯áẠáááºážá aliases (aliases): ls ááŸáá·áº dir ááᯠá¡áá¯á¶ážááŒá¯áá«á
dir Env:
ဠvariable áá»á¬ážááẠbytes á sequences (ááá¯á·ááá¯áẠáááºááŒáá¯ááºááŸá
áºáááºáá«á) á
á¬áá¯á¶ážáá»á¬ážá á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºááẠáááºážááá¯á·ááá¯á¡áá¯á¶ážááŒá¯ááá·áº program áá±á«áºááœááºáá¬áá°áááºáá«áááºá *-Variable cmdlets áá»á¬ážááẠáááºáááºážáá»áẠvariable áá»á¬ážááŸáá·áº á¡áá¯ááºááá¯ááºáá«á áááºážááá¯á·ááᯠáááºáá±á¬ááºáááºá áááºááẠdrive ááŸá±á·áááºááᯠá¡áá¯á¶ážááŒá¯ááá«áááº-
$env:TEST = "Hello, World!"
ááááºážáááºá¹áá»á¬ááŸáá·áº ááŸáá¯ááºážááŸááºá¡á±á¬áºááá±áá¬áá»á¬áž
PowerShell ááẠá¡á±á¬ááºáá«ááááºážáááºá¹áá»á¬á¡á±á¬áºááá±áá¬áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááº- + (áá±á«ááºážá ááºážááŒááºáž), - (á¡áá¯ááº), * (á¡ááŒáŸá±á¬ááº), / (ááá¯ááºážááŒá¬áž) ááŸáá·áº % (ááá¯áá°ááᯠááá¯á·ááá¯áẠááá¯áá°ááá¯)á ááááºážáááºá¹áá»á¬á¡áá¯á¶ážá¡ááŸá¯ááºážáá áºáá¯á ááááºá¡á¬áž áá±áá°áá»áááºáá¶áá¬ážáá±á¬ áá¯ááºáááºážáá±á¬ááºááœááºááŸá¯á¡á á®á¡á á¥áºááŸáá·áºá¡áá® áááºááŸáá¬ááá¯á· á¡áá²ááŒááºááŒá®áž ááœááºážá á¥áºáá»á¬ážááᯠá áá¬ážáááºá á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠá¡á¯ááºá á¯ááœá²á·áááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áá«áááºá á¡á±á¬áºááá±áá¬áá»á¬ážááŒá¬ážááŸá space áá»á¬ážááᯠáá»á áºáá»á°ááŸá¯áá¬ážáᬠáááºážááá¯á·ááᯠááá¯ááá¯ááœááºáá°á áœá¬áááºááá¯ááºáááºáᬠá¡áá¯á¶ážááŒá¯áá«áááºá + á¡á±á¬áºááá±áá¬áááºáááºáž áá±á«ááºážá ááºááŒá®áž * á¡á±á¬áºááá±áá¬ááẠá á¬ááŒá±á¬ááºážáá»á¬ážááᯠáááºáá«ááá²áá² ááŒá¯áá¯ááºáááºá á á¬ááŒá±á¬ááºážáá áºáá¯ááá¯á· áá¶áá«ááºáá áºáá¯ááᯠááá·áºáááºááŒáá¯ážá á¬ážáá«áá áááºážááᯠá á¬ááŒá±á¬ááºážáá áºáá¯á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááœá¬ážáááºááŒá áºáááºá ááá¯á·á¡ááŒááºá PowerShell áá¬áá¬á áá¬ážááœáẠáááºááá¯ážááŸá áºáá¯ááŒá¬ážááœáẠááá¯ááºááá¯ááºá á áºáá±ážááŒá®áž boolean ááŸáẠááá¯á·ááá¯áẠááŸá¬ážááᯠááŒááºáá±ážááá·áº ááŸáá¯ááºážááŸááºá¡á±á¬áºááá±áá¬áá»á¬ážá áœá¬ ááŸááááºá
á¡á±á¬áºááá±áá¬
áá±á«áºááŒáá»ááº
áá¯ááºá¥ááá¬
-eq
áá¬áá°áá®áá»áŸ / áá®áá»áŸááŒááºáž (á¡ááŒá¬ážáá¬áá¬á áá¬ážáá»á¬ážááœáẠ= ááá¯á·ááá¯áẠ== á¡áá¬ážáá°)
$test = 100
$test -eq 123
- ááŒá áºáá« áááºá
ááá®áá»áŸ / ááá®áá»áŸ ( <> ááá¯á·ááá¯áẠ!= ááŸáá·áº áááºáá°áááº)
$test = 100
$test -ne 123
-gt
áááºááŒá®ážááẠ/ More ( analogue >)
$test = 100
$test -gt 123
áá»á®áá®áá®
ááŒá®ážáááºááẠááŒá®ážááẠááá¯á·ááá¯áẠáá®áá»áŸááẠ/ ááŒá®ážáááºááẠááŒá®ážááẠááá¯á·ááá¯áẠáá°áá®ááẠ(áááºáá°ááẠ>=)
$test = 100
$test -ge 123
-lt
áááºáááºáž / áááºáž ( < ááŸáá·áº áááºáá°ááẠ)
$test = 100
$test -lt 123
-áá®
áááºáááºážááẠááá¯á·ááá¯áẠáá°áá®ááẠ/ áááºáááºážááẠááá¯á·ááá¯áẠáá°áá®ááẠ( <= ááŸáá·áº áááºáá°áááº)
$test = 100
$test -le 123
á¥ááá¬á¡á¬ážááŒáá·áºá ááááºááºáááºáá áºáá¯á¡áá±á«áºá¡ááŒá±áá¶á ááŸáá¯á·ááŸáá¯ááºážáááºááœáá·áºááŒá¯áá±á¬á¡ááŒá¬ážá¡áá¬ážáá°á¡á±á¬áºááá±áá¬áá»á¬ážááŸááá«áááºá áááºážááá¯á·ááᯠáá±á¬ááºáá±á¬ááºážáá«ážáá»á¬ážááœáẠá¡áá±ážá áááºáá±á¬áºááŒáá«áááºá áááºá¹áá±á <, > ááŸáá·áº = ááᯠá¡ááŒá¬ážáááºááœááºáá»ááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áá±á¬ááŒá±á¬áá·áº ááŸáá¯ááºážááŸááºáááºá¡ááœáẠá¡áá¯á¶ážáááŒá¯áá«á
Assignment operators áá»á¬áž
á¡áá¯á¶ážá¡áá»á¬ážáá¯á¶áž = á¡á±á¬áºááá±áá¬á¡ááŒááºá +=á -=á *=á /= ááŸáá·áº %= ááŸááá«áááºá áá¬áááºááááºážáá±á¬ááºáá® áááºááá¯ážááᯠááŒá±á¬ááºážáá²ááŒáááºá variable áá áºáá¯ááááºááá¯ážááᯠááá¯áž ááá¯á·ááá¯áẠáá»á±á¬á·áá±ážáá±á¬ unary operator ++ ááŸáá·áº - ááá¯á·ááẠá¡áá¬ážáá°ááŒá¯áá°ááŒááẠ- áááºážááá¯á·ááẠassignment operator áá»á¬ážááŸáá·áºáááºáž áááºááá¯ááºáá«áááºá
Logical operator áá»á¬áž
ááŸáá¯ááºážááŸá¥áºááŸá¯áá áºáá¯áááºážá ááŸá¯ááºááœá±ážáá²á· á¡ááŒá±á¡áá±ááœá±ááᯠáá±á¬áºááŒááá¯á· ááá¯á¶áá±á¬ááºáá«áá°ážá á¡á±á¬áºááá±áá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºááá·áº áá¯áá¹ááá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááá¯áááᯠáá±ážáá¬ážááá¯ááºáááº-and, -or, -xor, -not ááŸáá·áº !
("ТеÑÑ" -eq "ТеÑÑ") -and (100 -eq 100)
-not (123 -gt 321)
!(123 -gt 321)
á¡ááŒá±á¡áá±á¡á áá¯ááºáá«á
PowerShell ááŸá áááºááœá²á¡á±á¬áºááá±áá¬áá»á¬ážááẠá á¶áááºááŸááºáá»ááºáá»á¬ážááŒá áºáááº- IF(IFâŠELSEá IFâŠELSEIFâŠELSE) ááŸáá·áº SWITCHá áá°ááá¯á·áá²á· á¡áá¯á¶ážááŒá¯áá¯á¶ááᯠá¥ááá¬ááœá±áá²á· ááŒáá·áºááŒáá¡á±á¬ááºá
[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, WHILE, DO UNTIL, FOR ááŸáá·áº FOREACHá
ááŒáá¯áááºáááºááŸááºáá»ááºáá áºáá¯áá«ááŸáááá·áº ááœááºážáááºáá áºáá¯ááẠááŸááºáá±áááœá±á· á¡áá¯ááºáá¯ááºáááºááá¯áá«á/
[int]$test = 0
while ($test -lt 10) {
Write-Host $test
$test = $test + 1
}
áááºáá±á¬ááºážááŒá®ážááá·áºáá±á¬áẠá¡ááŒá±á¡áá±á¡á¬áž á á áºáá±ážáá¬ážáá±á¬ááŒá±á¬áá·áº ááá¯á·á áºá¡ááŒá±á¡áá±áá áºáá¯áá«áá±á¬ ááŸáá·áºáááºáá»á¬ážááẠá¡áááºážáá¯á¶áž áá áºááŒáááºáááºáááºáá«áááºá áá áºáá»áááºáááºážááŸá¬áááºá á¡ááŒá±á¡áá±ááŸááºáá±áá»áááºááœáẠDO WHILE á¡áá¯ááºáá¯ááºááŒá®áž áááºážááẠááŸá¬ážáá±áá»áááºááœáẠ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 loop á áááºáá¬áááºáᬠá¡áá±á¡ááœááºááᯠááŒáá¯áááºááááŸáááá¯ááºáááº-
for ([int]$test = 0; $test -lt 10; $test++) {
Write-Host $test
}
FOREACH loop ááœááºá array ááá¯á·ááá¯áẠcollection (hash table) á á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáááºááá²áá² ááŒá¯áá¯ááºáááº-
$test_collection = "item1", "item2", "item3"
foreach ($item in $test_collection)
{
Write-Host $item
}
Array áá»á¬áž
PowerShell variables áá»á¬ážááẠá¡áá¬ááá¹áá¯áá áºáá¯áááºáž (áá¶áá«ááºá á á¬ááŒá±á¬ááºážá áááº) áá áºáá¯áááºážáá¬áá á¡áá»á¬ážá¡ááŒá¬ážááᯠááááºážáááºážáá¬ážáááºá á¡ááá¯ážááŸááºážáá¯á¶ážáá±á¬ ááááºážááŸááºáá»á¬ážááẠarray áá»á¬ážááŒá áºáááºá array áá áºáá¯ááœáẠááŒááºá ááºáá»á¬ážá áœá¬á ááŒááºá ááºáá áºáá¯á ááá¯á·ááá¯áẠááá¬ááŒá áºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬á ááŒááºá ááºááá«áááºáá«á áá±á¬ááºáá±á¬ááºážáá«ážááœáẠáá»áœááºá¯ááºááá¯á·ááá¯á¡ááºááá·áº @() á¡á±á¬áºááá±áá¬á¡á¬áž á¡áá¯á¶ážááŒá¯á ááŒá±áá¬áá¬ážááẠ- á¡ááŒá¬áž array áá»á¬ážááᯠarray áá áºáá¯ááá¯á·ááá·áºááŒááºáž (áááºáá±á«ááºážá á¯á¶ááŸá arrays áá»á¬ážáááºáá®ážááŒááºáž)á array áá»á¬ážááᯠargument á¡ááŒá áºáá¯ááºáá±á¬ááºáááºá ááŸáá·áº á¡áá¬ážáá°áá¯ááºáá±á¬ááºá áá¬áá»á¬ážááᯠááŒááºáááºážáááºá¡ááœáẠá¡ááœááºá¡áá±ážááŒá®ážáááº-
$test_array = @() #ÑПзЎаеЌ пÑÑÑПй ЌаÑÑОв
array áá áºáá¯ááᯠá áááºáá±á¬á¡áá«á áááºážááááºááá¯ážáá»á¬ážááᯠáá±á¬áºáᬠ(á¡áá°ážá¡á±á¬áºááá±áᬠ,):
$test_array = @(1, 2, 3, 4) # ÑПзЎаеЌ ЌаÑÑОв Оз ÑеÑÑÑеÑ
ÑлеЌеМÑПв
ááá á¹á á¡áá»á¬ážá á¯ááœááºá @() á¡á±á¬áºááá±áá¬á¡á¬áž áá»ááºááŸááºáá¬ážááá¯ááºáááº-
$test_array = 1, 2, 3, 4
á€ááá á¹á ááœááºá áá áºáá¯áá±á¬ááŒááºá ááºáá áºáá¯á array ááá¯á¡á±á¬ááºáá«á¡ááá¯ááºážá áááºáááºá
$test_array = , 1
Array á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáá¯áá¡ááŒá±áá¶ááááºážááŒáá·áºá¡ááœáŸááºážááŸáá·áº á¡ááœáŸááºážá¡á±á¬áºááá±áᬠ(á áá¯áááºážááœááºážá áá¯áááºážááœááºážáá»á¬áž) á¡áá¯á¶ážááŒá¯á áááºáá±á¬ááºááŒáá·áºááŸá¯áááºá
$test_array[0] = 1
áá±á¬áºáá¬áá»á¬ážááŒáá·áº ááá¯ááºážááŒá¬ážáá¬ážáá±á¬ á¡ááœáŸááºážáá»á¬ážá áœá¬ááᯠáááºáááºááŸááºááá¯ááºáááºá áááºááá²áá²-
$test_array = "ПЎОМ", "Ўва", "ÑÑО", "ÑеÑÑÑе"
$test_array[0,1,2,3]
$test_array[1,1,3,3,0]
á¡á±á¬áºááá±áᬠ..
(á¡á
ááºááŸá
áºá
áẠ- á¡ááá¯ááºážá¡ááŒá¬ážá¡á±á¬áºááá±áá¬) ááẠáááºááŸááºáá¬ážáá±á¬ á¡áááºááŸáá·áºá¡á±á¬ááºáá±á¬ááºáá»á¬ážá¡ááœááºáž ááááºážááŒáá·áºá¡áááºážáá
áºáá¯ááᯠááŒááºáá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá expression 1..4 ááẠááŒááºá
ááºáá±ážáá¯á array áá
áºáá¯á¡á¬áž @(1á 2á 3á 4) ááá¯áá¯ááºáá±ážááŒá®áž expression 8..5 ááẠarray @(8á 7á 6á 5) ááá¯áá¯ááºáá±ážáááºá
á¡ááá¯ááºážá¡ááŒá¬ážá¡á±á¬áºááá±áá¬ááᯠá¡áá¯á¶ážááŒá¯á array áá
áºáᯠ($test_array = 1..4) ááᯠá
áááºááá¯ááºááẠááá¯á·ááá¯áẠá¡áá»áẠ(slice) ááᯠááá°ááá¯ááºáááºá array áá
áºáá¯á០element áá
áºáá¯á sequence áá
áºáá¯ááẠá¡ááŒá¬ážáá
áºáá¯á០indices ááŒá
áºáááºá á€ááá
á¹á
ááœááºá á¡áá¯ááºáá¶áá«áẠ-1 ááẠarray ááá±á¬ááºáá¯á¶ážááŒááºá
ááºá -2 - áá±á¬ááºáá¯á¶ážáá
áºáá¯á á¡á
ááŸááááºááá¯á·ááᯠáááºááœáŸááºážáááºá
$test_array = "ПЎОМ", "Ўва", "ÑÑО", "ÑеÑÑÑе"
$test_array[0..2]
$test_array[2..0]
$test_array[-1..0]
$test_array[-2..1]
integer array áááºááá¯ážáá»á¬ážááẠdata array á á¡áá»á¬ážáá¯á¶áž á¡ááœáŸááºážáááºááá¯ážááẠááŒá®ážááá¯ááºááŒá±á¬ááºáž áááááŒá¯áá«á á€ááá á¹á ááœááºá áááºááá¯ážá¡á¬ážáá¯á¶ážááᯠáá±á¬ááºáá¯á¶ážáá áºáá¯á¡áá ááŒááºáá±ážáááº-
$test_array[0..100]
áááºááŸáááŒááºážáááŸááá±á¬ array ááŒááºá ááºáá áºáá¯á¡á¬áž áááºáá±á¬ááºááẠááŒáá¯ážá á¬ážáá«á $null ááᯠááŒááºáá±ážáá«áááºá
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 ááŒááºá ááºáá»á¬ážá á¡áá±á¡ááœááºááŒá áºáááºá
ááŒááºážááŒááºážáááºááẠááá¯ááºááá·áºáá¬ážáá±á¬ array áá áºáá¯ááᯠáááºáá®ážááŒááºážá á¥ááá¬áá áºáá¯á
[int[]]$test_array = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Hash ááá¬ážáá»á¬áž
PowerShell ááœáẠá¡ááŒá±áá¶áááŒá±á¬ááºážáá²ááá¯ááºáá±á¬ á¡ááŒá¬ážá¡áá»áá¯ážá¡á á¬ážááŸá¬ associative arrays áá¯áá±á«áºáá±á¬ hash tables ááŒá áºáááºá Hashtables áá»á¬ážááẠJSON á¡áá¬ááá¹áá¯áá»á¬ážááŸáá·áº áááºáá°ááŒá®áž áá±á¬á·áááºááá¯ážá¡ááŒá±áá¶ááŒáá·áº áááºáá±á¬ááºáá¬ážáááºá áá¬áá¬áẠarray áá»á¬ážááŸáá·áºááá°áá²á áááºážááá¯á·áááŒááºá ááºáá»á¬ážááᯠá¡áá¬ááá¹áá¯á áá¯ááºááá¹áááá»á¬ážááŒá áºááá·áº áá±á¬á·áá»á¬ážááŒáá·áº áááºáá±á¬ááºááŒáá·áºááŸá¯ááẠ(ááẠá¡ááœáŸááºážá¡á±á¬áºááá±áᬠ- á áá¯áááºážááœááºážá ááœááºáá»á¬ážááá¯áááºáž áá¯á¶ážááá¯ááºáááº)á
@ áááºá¹áá±áááŸáá·áº á¡á±á¬áºááá±áá¬ááœááºážááááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡ááœáẠhash ááá¬ážááᯠááŒá±áá¬áááº-
$test_hashtable = @{}
ááŒá±ááŒá¬ááá·áºá¡áá«á áááºááẠáá±á¬á·áá»á¬ážááá¯áá»ááºáá»ááºážáááºáá®ážááá¯ááºááŒá®áž áááºážááá¯á·á¡á¬áž áááºááá¯ážáá»á¬ážáááºááŸááºááá¯ááºáááº-
$test_hashtable = @{one="ПЎОМ"; two="Ўва"; three="ÑÑО"; "some key"="some value"}
hash table áá áºáá¯ááá¯á· ááŒááºá ááºáá áºáá¯ááá·áºáááºá áááºááẠáááºážááœáẠáááŸááá±ážáá±á¬áá±á¬á·áá áºáá¯ááᯠáááºááŸááºáá±ážááá«áááºá ááá¯á·ááá¯áẠAdd () áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯áá«á áááºááŸááá±á¬á·áá áºáá¯á¡ááœáẠáá¬áááºáá áºáá¯ááŒá¯áá¯ááºáá«áá áááºážááááºááá¯ážááẠááŒá±á¬ááºážáá²ááœá¬ážáááºááŒá áºáááºá Remove() method ááᯠhash table á០element áá áºáá¯ááᯠáááºááŸá¬ážááẠá¡áá¯á¶ážááŒá¯áááºá
$test_hashtable."some key"
$test_hashtable["some key"]
$test_hashtable.Add("four", "ÑеÑÑÑе")
$test_hashtable.five = "пÑÑÑ"
$test_hashtable['five'] = "заЌеМÑеЌ зМаÑеМОе"
$test_hashtable.Remove("one")
á€á¡áá»áá¯ážá¡á
á¬ážá ááœá²ááœá²áá»ááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº cmdlets áá»á¬ážááá¯á· á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážá¡ááŒá
Ạáá»á±á¬áºááŒááºááá¯ááºááẠ- áá±á¬ááºáá±á¬ááºážáá«ážááœáẠáááºážááᯠáááºááá¯á·áá¯ááºáá±á¬ááºáááºááᯠáá±á·áá¬áááºááŒá
áºááŒá®áž á¡ááŒá¬ážáá±á¬ á¡áá¬ážáá°á¡áá»áá¯ážá¡á
á¬áž - PSCustomObject ááá¯áááºáž ááá·áºááœááºážá
ááºážá
á¬ážáá«áááºá
áá¯ááºáááºážáá±á¬ááºáá¬
PowerShell ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬áž á¡áá«á¡ááẠáá¯ááºáááºážá ááºáá»á¬áž áááá¯ááááºáá±ážááœá²ááŒááºážá¡ááœáẠáááºááá¯á¡ááºááá»áŸ á¡áá¬á¡á¬ážáá¯á¶áž ááŸááá«áááºá áááºážááá¯á·ááá¯áá±á¬áºááŒáááºá áá¯ááºáá±á¬ááºáá»ááºá áá¬ážáá¯á¶áž Function ááá¯á¡áá¯á¶ážááŒá¯ááŒá®ážáá±á¬ááºááœáẠáá¯ááºáá±á¬ááºáá»ááºáá¡áááºááŸáá·áº á¡á±á¬áºááá±áá¬ááœááºážááááºáá»á¬ážááœáẠááá·áºááœááºážáá¬ážáá±á¬ ááá¯ááºáááºááᯠáááºááŸááºááẠááá¯á¡ááºáááºá áá¯ááºáá±á¬ááºáá»ááºááá¯á· á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážáá±ážááá¯á·ááẠááá¯á¡ááºáá«áá ááœááºážá¡ááœááºážá¡áááºááŒá®ážáá±á¬áẠáááºážááá¯á·ááᯠáá»ááºáá»ááºážáááºááŸááºááá¯ááºáááºá
function ОЌÑ-ÑÑМкÑОО (аÑгÑЌеМÑ1, ..., аÑгÑЌеМÑN)
{
ÑелП-ÑÑМкÑОО
}
áá¯ááºáá±á¬ááºáá»ááºááẠááááºáá áºáá¯á¡á¬áž á¡ááŒá²ááŒááºáá±ážááẠ- áá áºáá¯áááºááá¯áá«á áááºážááá±á¬áºááŒáá»ááºá¡á¬ážáá¯á¶ážá ááááºáá áºáá¯ááŒá áºáááºá áá±á¬áºááŒáá»ááºáá áºáá¯áá¬ááŸááá»áŸáẠáááºááá¯ááºáá¬á¡áá»áá¯ážá¡á á¬ážá áá áºáá¯áááºážáá±á¬áááºááá¯ážááᯠááŒááºáá±ážáááºááŒá áºáááºá ááŒááºáá±áž $value construct ááẠáááẠarray ááá¯á· áááºááá¯áž $value ááŸáá·áº ááŒááºá ááºáá áºáá¯ááᯠáá±á«ááºážááá·áºááŒá®áž áá¯ááºááŒááºáá»ááºá á¬áááºážá áá¯ááºáá±á¬ááºááŸá¯ááᯠáá»ááºááŒááºááœá¬ážáᬠá¡ááœááºáá¯ááºáá±á¬ááºáá»ááºááẠ$null ááŒááºáá±ážáááºá
á¥ááá¬á¡á¬ážááŒáá·áºá ááááºážáá áºáá¯á áá¯áááºážá¡ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá áºáá¯ááᯠáááºáá®ážááŒáá«á áá¯á·á
function sqr ($number)
{
return $number * $number
}
áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯áááá¯ááºáááºááœááºá áááºážááá¯ááá±á«áºááá¯áá® ááŒá±áá¬áá¬ážááá·áº variable ááŸááºááá»áŸááᯠáááºá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®áž PowerShell ááœááºáá±á«áºááá¯ááŒááºážáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠáá¯á¶ááŸááºááá¯ááºáá¯áááºáááá¯ááºáááº- á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬áž (ááŸááá«á) ááœááºážá á¥áºáá»á¬ážááœáẠáááá·áºááœááºážáá¬ážáá² áá±áá¬ááœááºáá»á¬ážááŒáá·áº ááŒá¬ážáá¬ážáááºá
sqr 2
ááá¯á·ááá¯áẠá€áá²á·ááá¯á·áá±á¬
sqr -number 2
á¡ááŒááºážá¡áá¯á¶áá»á¬ážááᯠááŒááºáááºážáá¯á¶ááŒá±á¬áá·áºá áá áºáá«áá áºáá¶ááœáẠáá¯ááºáá±á¬ááºáá»ááºááᯠááœááºážá á¥áºáá»á¬ážááœáẠááá·áºááœááºážááẠááá¯á¡ááºáááº-
function test_func ($n) {}
test_func -eq $null # ÑÑМкÑÐžÑ ÐœÐµ вÑзÑвалаÑÑ
(test_func) -eq $null # ÑезÑлÑÑÐ°Ñ Ð²ÑÑÐ°Ð¶ÐµÐœÐžÑ â $true
áá¯ááºáá±á¬ááºáá»ááºáá
áºáá¯ááᯠáá±á¬áºááŒáá±á¬á¡áá«á áááºááẠá¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážá¡ááœáẠáá°áááºážáááºááá¯ážáá»á¬ážááᯠáááºááŸááºáá±ážááá¯ááºáá«áááºá
function func ($arg = value) {
#ÑелП ÑÑМкÑОО
}
function arguments áá»á¬ážááá¯áá±á¬áºááŒááẠá¡ááŒá¬ážáá±á¬ syntax áá áºáá¯ááŸááá«áááºá ááá¯á·á¡ááŒááºá ááá¯ááºááá¯ááºážá០parameters áá»á¬ážááá¯áááºááá¯ááºááẠ- áááºááá¯á·áá¬ážáá±á¬ modules áá»á¬ážááá¯ááŒáá·áºááŸá¯ááŒá®ážáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯áẠcmdlets ááá¯áááºáá®ážáá±á¬á¡áá«á€á¡áá¬á¡á¬ážáá¯á¶ážáááºáá±á¬ááºáá±á¬ááºážáá«ážááœááºá¡áááºááŒá±áááá·áºáááºá
áá¯ááºáá±á¬ááºáá¬ááœáẠá¡ááŸá¬ážá¡ááœááºážááŸááááºá
PowerShell ááœáẠTry...Catch... áá±á¬ááºáá¯á¶ážááœáẠááŒáœááºážáá»ááºáá»á¬ážááᯠááá¯ááºááœááºááẠááá¹ááá¬ážáá áºáᯠááŸááááºá á ááºážáá¯á¶ážááá±á¬ááºááœáẠá¡ááŸá¬ážá¡ááœááºážáá áºáá¯ááŒá áºáá±á«áºáá¬ááá¯ááºááá·áº áá¯ááºáá«ááŸáááŒá®áž Catch ááá±á¬ááºááœáẠáááºážáááá¯ááºááœááºáá°áá«ááŸááááºá á¡ááŸá¬ážá¡ááœááºážáááŸááá«áá áááºážááá¯áá¯ááºáá±á¬ááºáááºááá¯ááºáá«á á¡ááŸá¬ážá¡ááœááºážáá áºáá¯ááŒá áºáá±á«áºáááºááŒá áºá á± á ááºážáá¯á¶ážááááºááá¯á·ááŒá®ážáá±á¬áẠáá±á¬ááºáá¯á¶ážááááºááá¯á·ááᯠáá¯ááºáá±á¬ááºááŒá®áž ááŒáœááºážáá»ááºá¡áá»áá¯ážá¡á á¬ážáá»á¬ážá¡ááœáẠáááºážááœááºá¡áá»á¬ážá¡ááŒá¬ážááŸáááá¯ááºáááºá ááŒáœááºážáá»ááºááá¯ááºááŸáá¯ááºááẠáááŒá±ááŒá¬áá¬ážáá±á¬ áá¯á¶áá±ááááºážááŸáẠ($_) ááá¯á· á á¬áá±ážááŒá®áž á¡ááœááºááá° ááŒááºáá°ááá¯ááºáááºá á¡á±á¬ááºáá±á¬áºááŒáá« á¥ááá¬ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáááŸááºáááºáá±á¬áááºááá¯ážááᯠááá·áºááœááºážááŒááºážá០áá¬ááœááºááŸá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáááº-
try {
[int]$test = Read-Host "ÐвеЎОÑе ÑОÑлП"
100 / $test
} catch {
Write-Warning "ÐекПÑÑекÑМПе ÑОÑлП"
Write-Host $_
}
áááºážááẠPowerShell áá¬áá¬á
áá¬ážááŒáá·áº áááá¯ááááºáá±ážáá¬ážááŒááºážá á¡ááŒá±áá¶áá»á¬ážááᯠááŒááºáááºáá¯á¶ážáááºááŒááºážááᯠá¡áá¯á¶ážáááºáááºá á¡á±á¬ááºáá«áá±á¬ááºážáá«ážáá»á¬ážááœááºá ááá°áá®áá±á¬á¡áá»áá¯ážá¡á
á¬ážáá»á¬ážá á
á¯á
ááºážááŸá¯áá»á¬ážá áá¯á¶ááŸááºá¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá áá±á¬áºáá»á°ážáá»á¬ážááŸáá·áº á
áááºááŒáá¯áẠcmdlets áá»á¬ážá¡ááŒáẠobject-oriented programming ááŸáá·áº áá¯ááºáá±á¬ááºááá·áº á¡áá±ážá
áááºááᯠáá»áœááºá¯ááºááá¯á· áá±á·áá¬áá«áááºá
source: www.habr.com