рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рджреВрд╕рд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ PowerShell рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдХрд╡рд░, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдХреИрд╕реЗ рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкрд░ рд▓рд┐рдЦреЗ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рд▓рд╛рднрджрд╛рдпрдХ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ cmdlets рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИредрд╡рд┐рд╖рдп - рд╕реВрдЪреА:
рд╕реНрдерд┐рддрд┐рдЧрдд рдкреИрд░рд╛рдореАрдЯрд░рдкрд░рдо () рдмреНрд▓реЙрдХрдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБрдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛рд╢рд░реАрд░ рдХреА рд╕рдВрд░рдЪрдирд╛рд╡рд┐рд╢реЗрд╖рддрд╛ [CmdletBinding ()] рдФрд░ рдЙрдиреНрдирдд рдлрд╝рдВрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ рдФрд░ cmdlets рдмрдирд╛рдирд╛рд╕реНрдерд┐рддрд┐рдЧрдд рдорд╛рдкрджрдВрдб
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ, рдЖрдк рд╕реНрдерд┐рддреАрдп рдорд╛рдкрджрдВрдбреЛрдВ (рддрд░реНрдХреЛрдВ) рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рдЬрд┐рдирдХреЗ рдорд╛рди рдмрд┐рд▓реНрдЯ-рдЗрди рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ $ args рдХреЛ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдЗрд╕ рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгреА рдХреЛ рдкреВрд░реНрд╡ рдШреЛрд╖рдгрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рджрд╛рдпрд░рд╛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ:Write-Host " :" $args.count
Write-Host ":" $args
рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ, рдкреЛрдЬрд┐рд╢рдирд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:function Print-Args {
Write-Host " :" $args.count
Write-Host " 0:" $args[0]
Write-Host " 1:" $args[1]
}
рдкреНрд░рд┐рдВрдЯ-рдЖрд░реНрдЧреНрд╕ "рдЬрд╝реАрд░реЛ" "рд╡рди"рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рд┐рдВрдЯ-рдЖрд░реНрдЧреНрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рд╣рдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмреАрдЪ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдирд╣реАрдВ рд▓рдЧрд╛рддреЗ рд╣реИрдВ: рдпрд╣ рдПрдХ рд╕рд░рдгреА рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рдорд╛рди рдЬреЛ рдХрд┐ рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгреА $ togs рдХреЛ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ - рдЗрд╕рдХрд╛ рджрд╛рдпрд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИред
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реИ рддреЛ рдЙрдирдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рдХреНрд░рдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рд╕рд░рдгреА рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИредрдкрд░рдо рдмреНрд▓реЙрдХ ()
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ, рдирд╛рдорд╛рдВрдХрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдПрдХ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ, рд╣рдо рдПрдХ рддрд░рд╣ рд╕реЗ рдЙрдирдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА:function test ($arg0, ..., $argN)
{
}
рдПрдХ рд╕рдорд╛рди рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреИрд░рд╛рдореАрдЯрд░ (рдпрджрд┐ рдХреЛрдИ рд╣реЛ) рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдХреЛрд╖реНрдардХ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╕рдВрдЧрддрд┐ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╢реЗрд▓ рднрд╛рд╖рд╛рдУрдВ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╣реИ: рд╢реЗрд▓ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВред рдкрд░реАрдХреНрд╖рдг ($ value0) рдХреЙрд▓ рд╣реИ рднреА рд╕рд╣реА, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛрд╖реНрдардХ рдореЗрдВ рдкреВрд░реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ, рдпрд╛рдиреА рд╣реИ ($ Value0) рдХреЗ рдмрдЬрд╛рдп $ value0 ред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд╛рд╕ рд╣реЛрдиреЗ рд╕реЗ рдХрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдХреЙрд▓рд┐рдВрдЧ рдЯреЗрд╕реНрдЯ ($ value0, $ value1) рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк , рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ - рджреЛ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдЬрд┐рд╕рдореЗрдВ $ value0 рдФрд░ $ value1 рдХрд╛ рдорд╛рди рд╣реЛрдЧрд╛ редMicrosoft Corporation рдкрд░рдо () рдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рднреА:param (
$arg0, $arg1
)
Write-Host $arg0 $arg1
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:function test {
param (
$arg0, $arg1
)
}
рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреА рддрд░реНрдХ рд╕реВрдЪреА рдЫреЛрдЯреА рд╣реИ, рддреЛ рдкрд░рдо () рдмреНрд▓реЙрдХ рдХреЗрд╡рд▓ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рдХрд╛ рдПрдХ рддрддреНрд╡ рд╣реИредрдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рдлрд╝рдВрдХреНрд╢рди рддрд░реНрдХреЛрдВ рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп, рдЙрдирдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рдордЬрдмреВрд░ рд╕реНрдерд╛рдкрдирд╛ рд╣реИ:param([int]$arg0)
рдпрд╛function test ([int]$arg0) {
}
рдЯрд╛рдЗрдк рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк [рдкреИрд░рд╛рдореАрдЯрд░ ()] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:param(
[parameter(Argument1=value1, Argument2=value2)]
$ParameterName
)
рдЗрд╕рдХреА рдорджрдж рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ:param([parameter(Mandatory=$true)][int]$arg0)
рдпрд╛function test ([parameter(Mandatory=$true)][int]$arg0) {
}
рдпрд╛function test {
parameter([parameter(Mandatory=$true)][int]$arg0)
}
рд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЖрджреЗрд╢ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рдШреЛрд╖рдгрд╛ рдХреЗ рдЖрджреЗрд╢ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ):param(
[parameter(Mandatory=$true, Position=0)]
[int]
$arg0,
[parameter(Position=1)]
[string]
$arg1,
[parameter(Position=2)]
[array]
$arg2
)
[рдкреИрд░рд╛рдореАрдЯрд░ ()] рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдЕрдиреНрдп рддрд░реНрдХ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдкреВрд░реА рд╕реВрдЪреА Microsoft рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ ред рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╡рд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдирдХреА рдорджрдж рд╕реЗ рдЖрдк рдЙрддреНрддреАрд░реНрдг рдореВрд▓реНрдпреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдХреБрдЫ рд╣реИрдВ:[рдЙрдкрдирд╛рдо ()] рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдирд╛рдо рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ:param(
[parameter(Mandatory=$true)]
[alias("ARG","ArgumentName")]
[string[]]
$arg0
)
рдХрд╛рд╕реНрдЯ рдСрдкрд░реЗрдЯрд░ [рд╕реНрдЯреНрд░рд┐рдВрдЧ []] рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рд░рдгреА рд╣реИред[AllowNull ()] рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ $ null рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:param(
[parameter(Mandatory=$true)]
[AllowNull()]
[string]
$arg0
)
[AllowEmptyString ()] рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:param(
[parameter(Mandatory=$true)]
[AllowEmptyString()]
[string]
$arg0
)
[AllowEmptyCollection ()] рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рд╕рд░рдгреА рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:param(
[parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[string[]]
$arg0
)
[ValidatePattern ()] рд╕рддреНрдпрд╛рдкрди рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП:param(
[parameter(Mandatory=$true)]
[ValidatePattern("[0-9][0-9][0-9][0-9]")]
[string[]]
$arg0
)
[ValidateLength ()] рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ:param(
[parameter(Mandatory=$true)]
[ValidateLength(1,10)]
[string]
$arg0
)
рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ , рд╣рдордиреЗ рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ cmdlets рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред PowerShell рдореЗрдВ, cmdlets рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ (рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо) рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрдирдкреБрдЯ рдкрд░ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЧреЗрдЯ-рд╣реЗрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдПрдХ cmdlets рдХреЛ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:Get-Help Stop-Process -Parameter Name
рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдк рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИрдВ (ByValue рдФрд░ / рдпрд╛ ByPropertyName)ред рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкрд╛рдЗрдк рд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдмрд╢рд░реНрддреЗ рдХрд┐ рдЗрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реЛред рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдореВрд▓реНрдп рдЖрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реЛрдЧреА рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдирд╛рдо рдпрд╛ рдЙрдкрдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреВрд▓рд┐рдпрди рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде [рдкреИрд░рд╛рдореАрдЯрд░ ()] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ValueFromPipeline рдФрд░ ValueFromPipelineByPropertyName, рдЬрд┐рд╕рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди $ рдЭреВрдард╛ рд╣реИ:param(
[parameter(Mandatory=$true,
ValueFromPipeline=$true)]
[string[]]
$Name
)
рдпрд╛param(
[parameter(Mandatory=$true,
ValueFromPipelineByPropertyName=$true)]
[string[]]
$Name
)
ValueFromPipelineByPropertyName рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдорддреМрд░ рдкрд░ рдХрдИ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рднреНрд░рдо рди рд╣реЛ, рдФрд░ рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ ValueFromPipeline рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ:param(
[parameter(Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true)]
[string[]]
$Name
)
Write-Host $Name
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЙрдиреНрдирдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ , рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАредрд╢рд░реАрд░ рдХреА рд╕рдВрд░рдЪрдирд╛
PowerShell рдореЗрдВ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдмреНрд░реИрдХреЗрдЯреНрд╕ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХреЛрдб рдХреЗ рддреАрди рд╡реИрдХрд▓реНрдкрд┐рдХ рдмреНрд▓реЙрдХ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рд╢реБрд░реБрдЖрдд, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЕрдВрддред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:function test
{
param()
begin {}
process {}
end {}
}
рд╢реБрд░реБрдЖрддреА рдмреНрд▓реЙрдХ рдПрдХ рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рд╣реИ, рдФрд░ рдЕрдЧрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рд╡рд╕реНрддреБ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдЪрд▓реЗрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рдмреНрд▓реЙрдХ рдореЗрдВ $ _ рдФрд░ $ PSItem рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рдорд╛рди рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рд╢реБрд░реБрдЖрдд рдмреНрд▓реЙрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рдЗрдк рд▓рд╛рдЗрди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд▓рд╛, рдкреНрд░реЛрд╕реЗрд╕ рдмреНрд▓реЙрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдпрджрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмреНрд▓реЙрдХ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдмрд╛рд░ рдПрдВрдб рдмреНрд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрди рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдЙрдЪрд┐рдд рд╣реИ рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ:function test
{
param(
[Parameter(ValueFromPipeline)]
[string[]]
$Param1,
[string]$Param2
)
begin
{
Write-Host " Begin"
Write-Host " ( pipeline):" $Param1
Write-Host " ( ):" $Param2
}
process {
Write-Host " Process"
Write-Host " ( pipeline):" $Param1
Write-Host " ( ):" $Param2
}
end
{
Write-Host " End"
Write-Host " ( pipeline):" $Param1
Write-Host " ( ):" $Param2
}
}
'рдПрдХ', 'рджреЛ', 'рддреАрди' | рдкрд░реАрдХреНрд╖рдг -рдкрд░рд╛рдо 2 'рдЪрд╛рд░'
[CmdletBinding ()] рд╡рд┐рд╢реЗрд╖рддрд╛ рдФрд░ рдЙрдиреНрдирдд рдХрд╛рд░реНрдп
"рдЙрдиреНрдирдд" рдлрд╝рдВрдХреНрд╢рди (рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдЦреНрддреА рд╕реЗ рдмреЛрд▓рдирд╛) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк [ CmdletBinding () ] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдЖрдкрдХреЛ Visual Studio рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдЗрдирд░реА cmdlets рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЙрдиреНрдирдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ .NET рдХреЛрд░ рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рд╣рдо рдЙрди рдкрд░ рд░реЛрдХ рджреЗрдВрдЧреЗ:function <Name>
{
[CmdletBinding(ConfirmImpact=<String>,
DefaultParameterSetName=<String>,
HelpURI=<URI>,
SupportsPaging=<Boolean>,
SupportsShouldProcess=<Boolean>,
PositionalBinding=<Boolean>)]
Param ()
Begin{}
Process{}
End{}
}
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, [CmdletBinding ()] рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ CmdletBindingAttribute рд╡рд░реНрдЧ рдХреЗ рдПрдХ рдирдП рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдирдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг Microsoft рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИ ред CmdletBinding рд╡рд┐рд╢реЗрд╖рддрд╛ рдЖрдкрдХреЛ рдЙрдиреНрдирдд рдлрд╝рдВрдХреНрд╢рди рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ: -Confirm рдФрд░ -WhatIf (SupportsShouldProcess рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), -Force, -Verbose рдФрд░ -Dugug рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдерд┐рддреАрдп рдкреИрд░рд╛рдореАрдЯрд░ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдЧреЗ рд╣рдо рд╡рд┐рд╢реЗрд╖ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред -ForceрдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;-рдХреНрдпрд╛ рд╣реЛ рдЕрдЧрд░рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди (рдХрдорд╛рдВрдб) рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЙрдиреНрдЪ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИредрдирд┐рдХрд╛рд▓реЗрдВ-рдЖрдЗрдЯрдо C: \ Windows \ notepad.exe -WhatIf
-Confirm рдХреЛ рдкреБрд╖реНрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИредfunction Delete-File {
[CmdletBinding(
ConfirmImpact = 'High',
SupportsShouldProcess = $true
)]
param(
[string]$File,
[switch]$Force
)
if ($Force -or $PSCmdlet.ShouldProcess($File,"Delete file")) {
Remove-Item $File
}
}
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -WhatIf рдФрд░ / рдпрд╛ -Confirm, рдХрдВрдзреЗ рдХреА рд╡рд┐рдзрд┐ (SupportsShouldProcess = $ true) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдпрд╛ рддреЛ рдХрдорд╛рдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ рдпрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -Force рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг, рд╣рдо рдЗрд╕реЗ IF рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, -рдУрдЖрд░ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЕрдЧрд░ рдпрд╣ рд╕рдЪ рд╣реИ, рддреЛ рдкрд░реАрдХреНрд╖рдг рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдХрдВрдзреЗрдкреНрд░реЛрд╕реЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдирд╣реАрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, [CmdletBinding ()] рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ, рд╣рдордиреЗ ConfirmImpact рддрд░реНрдХ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЛрдб рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕реНрддрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ -Confirm рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВрдбрд▓рд░ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рддрд░реНрдХ рдирд┐рдореНрди рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:рдХреЛрдИ рднреА рдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ - рдкреБрд╖реНрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА -Confirm рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рд╣реЛредрдХрдо - рдлрд╝рдВрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдереЛрдбрд╝рд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдЦрд┐рдо рдкреИрджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИредрдордзреНрдпрдо - рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХреЗ рдХрдо рдЬреЛрдЦрд┐рдо рдХреЗ рд╕рд╛рде рдордзреНрдпрдо рдЬреЛрдЦрд┐рдоредрдЙрдЪреНрдЪ - рдХреЛрдб рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдХрд╛ рдПрдХ рдЙрдЪреНрдЪ рдЬреЛрдЦрд┐рдо рдмрдирд╛рддрд╛ рд╣реИредрдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, PowerShell рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕рдкреЛрдЬрд╝рд░ рд╕реНрддрд░ рдХреЛ рдЙрдЪреНрдЪ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп $ ConfirmPreference рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдХреЛрдб рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рдорд╛рди рдпрд╛ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХрд╛ рдкреНрд░рднрд╛рд╡ рд╣реИ, рддреЛ рдПрдХ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдЕрдиреБрд░реЛрдз рд╣рдореЗрд╢рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛редрд╡рд┐рдХрд▓реНрдк -Verbose рдФрд░ -Debugрдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рд░рд╛рдЗрдЯ-рд╣реЛрд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рдУ, рдЙрдиреНрдирдд рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ)ред рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ - рд╡рд┐рд╕реНрддреГрдд рдбреАрдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реАред рдпрд╣ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред -Verbose рдФрд░ -Debug рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:function Get-Something {
[CmdletBinding()]
param()
if ($PSBoundParameters.Verbose) {$VerbosePreference = "Continue"}
if ($PSBoundParameters.Debug) {$DebugPreference = "Continue"}
Write-Verbose "Type some verbose information"
Write-Debug "Type some debug information"
}
рд╡рд┐рд╢реЗрд╖ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ $ PSBoundParameters рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, $ VerbosePreference рдФрд░ $ DebugPreference рдХреЗ рдорд╛рди 'SilentlyContinue' рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рднреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреА - рдЙрдиреНрд╣реЗрдВ 'рдЬрд╛рд░реА рд░рдЦреЗрдВ' рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПредрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдФрд░ Cmdlet рдирд┐рд░реНрдорд╛рдг
рдЪрд▓реЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ cmdlets рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рдЙрдиреНрдирдд рдХрд╛рд░реНрдп рд╣реИрдВ рдЬреЛ рддрдерд╛рдХрдерд┐рдд рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ - рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЗрдВ .psm1ред рд╡реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ PSModulePath рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдЖрдк рдирд┐рдореНрди рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдкрде рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:Get-ChildItem Env: \ PSModulePath | рдлрд╝реЙрд░реНрдореЗрдЯ-рдЯреЗрдмрд▓ -рдСрдЯреЛрд╕рд╛рдЗрдЬрд╝рдорд╛рдирдХ рд╕реЗрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:C: \ Users \% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо% \ Documents \ WindowsPowerShell \ ModulesC: \ Program Files \ WindowsPowerShell \ ModulesC: \ Windows's System32 \ WindowsPowerShell \ v1.0 \ Modulesрдкрд┐рдЫрд▓реЗ рдЕрдиреБрднрд╛рдЧ рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд Delete-File рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде ModuleName.psm1 рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ] C: \ Users \% рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо% \ Documents \ WindowsPowerShell \ Module \ ModuleNameред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо .psm1 рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдирд╛рдо (рдмрд┐рдирд╛) рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдЗрдВрдкреЛрд░реНрдЯ-рдореЙрдбреНрдпреВрд▓ рдореЙрдбреНрдпреВрд▓ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж , рдбрд┐рд▓реАрдЯ-рдлрд╛рдЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рдЙрдиреНрдирдд рд╣реИ, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╣ рд╕рдорд╛рди cmdlet рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХреА рд╣реИред рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЕрдЧрд▓рд╛ рднрд╛рдЧ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдЧрд╛редрднрд╛рдЧ 1: Windows PowerShell рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ2: Windows PowerShell4: ,
