рдкреЙрд╡рд░рд╢реЗрд▓ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХрдорд╛рдВрдб рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдорд╛рдирд╡реАрдп рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд░реВрдк рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рджрд░рдЕрд╕рд▓ рдмреБрдзрд╡рд╛рд░
рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛:
рдкреЙрд╡рд░рд╢реЗрд▓ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ
рдЖрдЗрдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рдлрд╝реАрд▓реНрдб (рдЧреБрдг, рдШрдЯрдирд╛рдПрдБ, рдЖрджрд┐) рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ (рддрд░реАрдХреЛрдВ) рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдПрдХреАрдХреГрдд .NET рдХреЛрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрдХреНрд╖рд╛рдУрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред COM, CIM (WMI) рдФрд░ ADSI рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рдбреЗрдЯрд╛ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рд╡рд░рд╢реЗрд▓ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░ рд╕реАрдПрдордбреАрд▓реЗрдЯреНрд╕ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрдирдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рднреА рд╣реИ
рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рджреЗрдЦрдирд╛
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдЧреЗрдЯ-рдкреНрд░реЛрд╕реЗрд╕ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдЪрд▓рд╛рдПрдВ, рдЬреЛ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
рдпрд╣ рдХреБрдЫ рд╕реНрд╡рд░реВрдкрд┐рдд рдЯреЗрдХреНрд╕реНрдЯ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ рдЬреЛ рд▓реМрдЯрд╛рдИ рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рдЙрдирдХреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдпрд╣ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреА рдЬрд╛рдВрдЪ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдФрд░ рдЧреЗрдЯ-рдореЗрдВрдмрд░ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛:
Get-Process | Get-Member
рдпрд╣рд╛рдВ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдХрд╛рд░ рдФрд░ рд╕рдВрд░рдЪрдирд╛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рдЗрдирдкреБрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Get-Process | Get-Member -MemberType Property
рдкреНрд░рд╢рд╛рд╕рди рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдпрд╛ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рд╕реНрдкреЙрдиреНрдбрд┐рдВрдЧ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реИрдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЫрд╛рдирдирд╛
PowerShell рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИрдВ:
Where-Object { ╨▒╨╗╨╛╨║ ╤Б╤Ж╨╡╨╜╨░╤А╨╕╤П }
рдХреЛрд╖реНрдардХ рдХреЗ рднреАрддрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдмреВрд▓рд┐рдпрди рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ рд╕рддреНрдп ($ рд╕рддреНрдп) рд╣реИ, рддреЛ рд╡реНрд╣реЗрдпрд░-рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдореЗрдВ рдЗрдирдкреБрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрдиреНрдпрдерд╛ ($ рдЧрд▓рдд) рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдмрдВрдж рдХреА рдЧрдИ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рддред рдЬрд┐рдирдХреА рд╕реНрдерд┐рддрд┐ рд╕рдВрдкрддреНрддрд┐ "рд░реЛрдХрд╛ рдЧрдпрд╛" рдкрд░ рд╕реЗрдЯ рд╣реИ:
Get-Service | Where-Object {$_.Status -eq "Stopped"}
рдпрд╣рд╛рдВ рд╣рдо рдлрд┐рд░ рд╕реЗ рдПрдХ рдкрд╛рдареНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ:
Get-Service | Where-Object {$_.Status -eq "Stopped"} | Get-Member
рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдирд╛
рд╡рд╕реНрддреБрдУрдВ рдХреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░рддреЗ рд╕рдордп, рдЕрдХреНрд╕рд░ рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕реЙрд░реНрдЯ-рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдЧреБрдгреЛрдВ рдХреЗ рдирд╛рдо (рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреБрдВрдЬрд┐рдпрд╛рдБ) рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдСрд░реНрдбрд░ рдХреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕реАрдкреАрдпреВ рджреНрд╡рд╛рд░рд╛ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп (рд╕реАрдкреАрдпреВ рдкреНрд░реЙрдкрд░реНрдЯреА) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ:
Get-Process | Sort-Object тАУProperty cpu
рд╕реЙрд░реНрдЯ-рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп -рдкреНрд░реЙрдкрд░реНрдЯреА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд░рд┐рд╡рд░реНрд╕ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, -рдЕрд╡рд░реЛрд╣реА рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
Get-Process | Sort-Object cpu -Descending
рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдЙрдирдХреЗ рднрд╛рдЧреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛
рд╕реЗрд▓реЗрдХреНрдЯ-рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдЖрдкрдХреЛ -рдлрд░реНрд╕реНрдЯ рдпрд╛ -рд▓рд╛рд╕реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдпрд╛ рдЕрдВрдд рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреА рдорджрдж рд╕реЗ рдЖрдк рдПрдХрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рдХреБрдЫ рдЧреБрдгреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирдП рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦреЗрдВ рдХрд┐ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЕрдзрд┐рдХрддрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ RAM (WS рд╕рдВрдкрддреНрддрд┐) рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА 10 рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:
Get-Process | Sort-Object WS -Descending | Select-Object -First 10
рдЖрдк рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдХреЗрд╡рд▓ рдХреБрдЫ рдЧреБрдгреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирдП рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
Get-Process | Select-Object ProcessName, Id -First 1
рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА, рдЬрд┐рд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдЧреЗрдЯ-рдкреНрд░реЛрд╕реЗрд╕ рд╕реАрдПрдордбреАрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдИ рдЧрдИ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрдЧреАред рдЖрдЗрдП Get-Member рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ:
Get-Process | Select-Object ProcessName, Id -First 1 | Get-Member
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реЗрд▓реЗрдХреНрдЯ-рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХ рдПрдХрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ (-рдлрд░реНрд╕реНрдЯ 1) рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд╡рд▓ рджреЛ рдлрд╝реАрд▓реНрдб рд╣реИрдВ: рдЙрдирдХреЗ рдорд╛рди рдЧреЗрдЯ-рдкреНрд░реЛрд╕реЗрд╕ рд╕реАрдПрдордбреАрд▓реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдкрд╛рд░рд┐рдд рдкрд╣рд▓реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдереЗред PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрдпрди-рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
$obj = Get-Process | Select-Object ProcessName, Id -First 1
$obj.GetType()
рд╕реЗрд▓реЗрдХреНрдЯ-рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЙрди рдСрдмреНрдЬреЗрдХреНрдЯреЛрдВ рдореЗрдВ рдкрд░рд┐рдХрд▓рд┐рдд рдЧреБрдг рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
Get-Process | Select-Object -Property ProcessName, @{Name="StartTime"; Expression = {$_.StartTime.Minute}}
рдЖрдЗрдП рдХрдиреНрд╡реЗрдпрд░ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЗрдЦреЗрдВ:
Get-Process | Select-Object -Property ProcessName, @{Name="StartTime"; Expression = {$_.StartTime.Minute}} | Get-Member
рдкреНрд░рддреНрдпреЗрдХ-рд╡рд╕реНрддреБ, рд╕рдореВрд╣-рд╡рд╕реНрддреБ рдФрд░ рдорд╛рдк-рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП
рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп cmdlet рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рдЖрдЗрдП рддреАрди рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВ:
рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП PowerShell рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
ForEach-Object { ╨▒╨╗╨╛╨║ ╤Б╤Ж╨╡╨╜╨░╤А╨╕╤П }
рд╕рдореВрд╣-рд╡рд╕реНрддреБ рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдореВрд╣рд┐рдд рдХрд░реЗрдВ:
Group-Object PropertyName
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ -NoElement рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдореВрд╣реЛрдВ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрдкрд╛рдп-рд╡рд╕реНрддреБ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝реАрд▓реНрдб рдорд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рд░рд╛рдВрд╢ рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ (рдпреЛрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо рдпрд╛ рдФрд╕рдд рдорд╛рди рднреА рдкрд╛рддрд╛ рд╣реИ):
Measure-Object -Property PropertyName -Minimum -Maximum -Average -Sum
рдЖрдорддреМрд░ рдкрд░, рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рд╕реАрдПрдордбреАрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдХреНрд╕рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
.NET рдФрд░ COM рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ (рдиреНрдпреВ-рдСрдмреНрдЬреЗрдХреНрдЯ)
.NET рдХреЛрд░ рдФрд░ COM рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдХрдИ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдШрдЯрдХ рд╣реИрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред System.Diagnostics.EventLog рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╕реАрдзреЗ Windows PowerShell рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рд▓реЙрдЧ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП -TypeName рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдиреНрдпреВ-рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
New-Object -TypeName System.Diagnostics.EventLog
рдЪреВрдБрдХрд┐ рд╣рдордиреЗ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдИрд╡реЗрдВрдЯ рд▓реЙрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдХреНрд╖рд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдореА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ -ArgumentList рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЧ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ "рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
$AppLog = New-Object -TypeName System.Diagnostics.EventLog -ArgumentList Application
$AppLog
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдордиреЗ рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ $AppLog рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдорддреМрд░ рдкрд░ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХреЛрд░ .NET рдХреЛрд░ рдХрдХреНрд╖рд╛рдПрдВ рд╕рд┐рд╕реНрдЯрдо рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИрдВ: рдкрд╛рд╡рд░рд╢реЗрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП System.Diagnostics.EventLog рдХреЗ рдмрдЬрд╛рдп Diagnostics.EventLog рд▓рд┐рдЦрдирд╛ рдХрд╛рдлреА рд╕рд╣реА рд╣реИред
рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдкрдпреБрдХреНрдд рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
$AppLog | Get-Member -MemberType Method
рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрджрд┐ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВ рддреЛ рдЗрд╕реЗ Clear() рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдлрд╝ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
$AppLog.Clear()
рдиреНрдпреВ-рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ COM рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ - рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд▓реЗрдХрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдЬреИрд╕реЗ ActiveX рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХред COM рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рд╡рд░реНрдЧ рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ ProgId рдХреЗ рд╕рд╛рде -ComObject рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
New-Object -ComObject WScript.Shell
New-Object -ComObject WScript.Network
New-Object -ComObject Scripting.Dictionary
New-Object -ComObject Scripting.FileSystemObject
рдПрдХ рдордирдорд╛рдиреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЦреБрдж рдХреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдиреНрдпреВ-рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рдФрд░ рдмреЛрдЭрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИ; рдЗрд╕ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╛рд╡рд░рд╢реЗрд▓ рдХреЗ рдмрд╛рд╣рд░реА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред .NET рдФрд░ COM рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо CIM (WMI) рдФрд░ ADSI рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рднреА рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред
рд╕реНрдереИрддрд┐рдХ рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛
System.Environment рдФрд░ System.Math рд╕рд╣рд┐рдд рдХреБрдЫ .NET рдХреЛрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рддрддреНрдХрд╛рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗ рд╣реИрдВ
[System.Environment] | Get-Member
рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, -рд╕реНрдЯреЗрдЯрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдЧреЗрдЯ-рд╕рджрд╕реНрдп рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ (рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ):
[System.Environment] | Get-Member -Static
рд╕реНрдереИрддрд┐рдХ рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рдмрд╛рдж рдХреА рдЕрд╡рдзрд┐ рдХреЗ рдмрдЬрд╛рдп рджреЛ рд▓рдЧрд╛рддрд╛рд░ рдХреЛрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
[System.Environment]::OSVersion
рдпрд╛
$test=[System.Math]::Sqrt(25)
$test
$test.GetType()
рдкреАрдПрд╕рдХрд╕реНрдЯрдордСрдмреНрдЬреЗрдХреНрдЯ рдЯрд╛рдЗрдк рдХрд░реЗрдВ
PowerShell рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрдИ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ, рдпрд╣ PSCustomObject рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рдЬреЛ рдПрдХ рдордирдорд╛рдиреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдиреНрдпреВ-рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕реА рд╡рд╕реНрддреБ рдмрдирд╛рдирд╛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ, рд▓реЗрдХрд┐рди рдмреЛрдЭрд┐рд▓ рдФрд░ рдкреБрд░рд╛рдирд╛ рддрд░реАрдХрд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ:
$object = New-Object тАУTypeName PSCustomObject -Property @{Name = 'Ivan Danko';
City = 'Moscow';
Country = 'Russia'}
рдЖрдЗрдП рд╡рд╕реНрддреБ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЗрдЦреЗрдВ:
$object | Get-Member
PowerShell 3.0 рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдХреЗ, рдПрдХ рдЕрдиреНрдп рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИ:
$object = [PSCustomObject]@{Name = 'Ivan Danko';
City = 'Moscow';
Country = 'Russia'
}
рдЖрдк рдХрд┐рд╕реА рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ:
$object.Name
$object.'Name'
$value = 'Name'
$object.$value
рдпрд╣рд╛рдВ рдореМрдЬреВрджрд╛ рд╣реИрд╢рдЯреЗрдмрд▓ рдХреЛ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
$hash = @{'Name'='Ivan Danko'; 'City'='Moscow'; 'Country'='Russia'}
$hash.GetType()
$object = [pscustomobject]$hash
$object.GetType()
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХрд╛ рдХреНрд░рдо рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ [рдЖрджреЗрд╢рд┐рдд] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
$object = [PSCustomObject][ordered]@{Name = 'Ivan Danko';
City = 'Moscow';
Country = 'Russia'
}
рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: рдКрдкрд░ рд╣рдордиреЗ cmdlet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦрд╛
$object | Add-Member тАУMemberType NoteProperty тАУName Age тАУValue 33
$object | Get-Member
рдРрдб-рдореЗрдВрдмрд░ рд╕реАрдПрдордбреАрд▓реЗрдЯ рдЖрдкрдХреЛ "-рдореЗрдореНрдмрд░рдЯрд╛рдЗрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯрдореИрдереЛрдб" рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рди рдХреЗрд╡рд▓ рдЧреБрдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП $рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рддрд░реАрдХреЛрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
$ScriptBlock = {
# ╨║╨╛╨┤
}
$object | Add-Member -Name "MyMethod" -MemberType ScriptMethod -Value $ScriptBlock
$object | Get-Member
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдордиреЗ рдирдИ рдкрджреНрдзрддрд┐ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ScriptBlock рдкреНрд░рдХрд╛рд░ рдХреЗ $ScriptBlock рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред
рдЧреБрдгреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
$object.psobject.properties.remove('Name')
рдЕрдкрдиреА рдЦреБрдж рдХреА рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдирд╛
PowerShell 5.0 рдиреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреЗрд╢ рдХреА
class MyClass
{
# ╤В╨╡╨╗╨╛ ╨║╨╗╨░╤Б╤Б╨░
}
рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ .NET рдХреЛрд░ рдкреНрд░рдХрд╛рд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдмреЙрдбреА рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рдЧреБрдгреЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИред рдЖрдЗрдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:
class MyClass
{
[string]$Name
[string]$City
[string]$Country
}
рдСрдмреНрдЬреЗрдХреНрдЯ (рдХреНрд▓рд╛рд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, cmdlet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
$object = New-Object -TypeName MyClass
рдпрд╛
$object = [MyClass]::new()
рдЖрдЗрдП рд╡рд╕реНрддреБ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ:
$object | Get-Member
рджрд╛рдпрд░реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рд┐рдП: рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд╛рдо рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЕрдХреНрд╖рд░рд╢рдГ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрдЧ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреНрд▓рд╛рд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ (рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕) рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореЙрдбреНрдпреВрд▓ рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд╣рд░ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реЛрдВрдЧреЗред
рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕рдХреЗ рдЧреБрдг рднрд░реЗрдВ:
$object.Name = 'Ivan Danko'
$object.City = 'Moscow'
$object.Country = 'Russia'
$object
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд░реНрдЧ рд╡рд┐рд╡рд░рдг рди рдХреЗрд╡рд▓ рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрдирдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ:
class Example
{
[string]$Name = 'John Doe'
}
рдХреНрд▓рд╛рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рд╡рд░рдг рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡рд┐рд╡рд░рдг рдЬреИрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд╝рдВрдХреНрд╢рди рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ред рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреА рддрд░рд╣, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:
class MyClass
{
[string]$Name
[string]$City
[string]$Country
#╨╛╨┐╨╕╤Б╨░╨╜╨╕╨╡ ╨╝╨╡╤В╨╛╨┤╨░
Smile([bool]$param1)
{
If($param1) {
Write-Host ':)'
}
}
}
рдЕрдм рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдореБрд╕реНрдХреБрд░рд╛ рд╕рдХрддрд╛ рд╣реИ:
$object = [MyClass]::new()
$object.Smile($true)
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЕрддрд┐рднрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рднреА рд╣реИ
class MyClass2 : MyClass
{
#╤В╨╡╨╗╨╛ ╨╜╨╛╨▓╨╛╨│╨╛ ╨║╨╗╨░╤Б╤Б╨░, ╨▒╨░╨╖╨╛╨▓╤Л╨╝ ╨┤╨╗╤П ╨║╨╛╤В╨╛╤А╨╛╨│╨╛ ╤П╨▓╨╗╤П╨╡╤В╤Б╤П MyClass
}
[MyClass2]::new().Smile($true)
рдкреЙрд╡рд░рд╢реЗрд▓ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╣рдорд╛рд░рд╛ рд╡рд┐рд╡рд░рдг рд╢рд╛рдпрдж рд╣реА рд╕рдВрдкреВрд░реНрдг рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЧрд╣рд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ: рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдкрд╛рдВрдЪрд╡рд╛рдВ рд▓реЗрдЦ рдкрд╛рд╡рд░рд╢реЗрд▓ рдХреЛ рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧрд╛ред рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдкрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрд░реЛрдд: www.habr.com