PowerShell рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди


рд╣рдо PowerShell 2.0 рдФрд░ 3.0 рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдкрд░ рдЕрдиреБрд╡рд╛рдж рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрд╣ рдкреЛрд╕реНрдЯ рдирд┐рдореНрди Windows рд╕реЗрд╡рд╛ рдкреНрд░рдмрдВрдзрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧреА:


рд╣рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ: рдЖрдк рд╡рд┐рдВрдбреЛрдЬ 7 рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВред рд╕рднреА рдЖрджреЗрд╢реЛрдВ рдХреЛ "рдлрд╝реАрд▓реНрдб рд╕реНрдерд┐рддрд┐рдпреЛрдВ" рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдпрд╛ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред

рд╕реЗрд╡рд╛ рдХрд╛ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ



рдЖрдЗрдП рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВред рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреЗрдЯ-рд╕рд░реНрд╡рд┐рд╕ cmdlet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

PS C:\> get-service 


PowerShell рдЖрдорддреМрд░ рдкрд░ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдирд┐рд╖реНрдХрд░реНрд╖ рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред



рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдПрдХ рд╕реЗрд╡рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдЕрдкрдиреЗ рдЧреБрдг рд╣реЛрддреЗ рд╣реИрдВред рдЖрдк рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдмрд╕ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрдорд╛рдВрдб, рдЧреЗрдЯ-рдореЗрдВрдмрд░ рдХреЛ рдкрд╛рд╕ рдХрд░рдХреЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред

 PS C:\> get-service | get-member 


рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВред



рд╢реАрд░реНрд╖ рдкрд░ рдЯрд╛рдЗрдкрдирд╛рдо рдХрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рд╣реИ; рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ System.ServiceProcess.ServiceController рд╣реИред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╡рд╕реНрддреБ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рднреА рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпреЗ рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбрд┐рд╕реНрдкреНрд▓реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред Get-Service рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдХреБрдЫ рдЧреБрдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реА рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИред

 PS C:\> get-service wuauserv | select Displayname,Status,Can* DisplayName : Windows Update Status : Stopped CanPauseAndContinue : False CanShutdown : False CanStop : False 
рдореБрдЭреЗ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВ рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдЧреЗрдЯ-рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦрд╛ред
PS C: \> рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ-рд╕реЗрд╡рд╛ рдХрд░реЗрдВ



рдЖрдк рдЯрд╛рдЗрдк рдХрд░рдХреЗ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 PS C:\> help get-service тАУfull 


рд╕реЗрд╡рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЙрд╕рдХреЗ рдирд╛рдо рдпрд╛ рдирд╛рдо рдХреЗ рд╢реБрд░реБрдЖрддреА рдЕрдХреНрд╖рд░реЛрдВ рд╕реЗ рднреА рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

 PS C:\> get-service wi* Status Name DisplayName ------ ---- ----------- Stopped WiaRpc Still Image Acquisition Events Running WinDefend Windows Defender Service Running WinHttpAutoProx... WinHTTP Web Proxy Auto-Discovery Se... Running Winmgmt Windows Management Instrumentation Running WinRM Windows Remote Management (WS-Manag... 


рдпрд╛ рдпрджрд┐ рдЖрдк рдкреНрд░рджрд░реНрд╢рди рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ -Displayname рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

 PS C:\> get-service -DisplayName "windows a*" Status Name DisplayName ------ ---- ----------- Stopped AllUserInstallA... Windows All-User Install Agent Running AudioEndpointBu... Windows Audio Endpoint Builder Running Audiosrv Windows Audio 


рдореБрдЭреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдкрд╛рд╡рд░рд╢реЗрд▓ рдорд╛рдиреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддрд╛ рд╣реИ рди рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЗрд╡рд╛ рдирд╛рдоред рдХрдорд╛рдВрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 PS C:\> get-service "windows a*" 


тАУName рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рд╣рдо рд░рд┐рдореЛрдЯ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реЗрд╡рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ



рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рджреВрд░рд╕реНрде рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк Get-Service рд╕рд╣рд╛рдпрддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ cmdlet рдореЗрдВ тАУComputername рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, PowerShell рджреВрд░рд╕реНрде рдкреНрд░рдмрдВрдзрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд┐рдП рдмрд┐рдирд╛ рджреВрд░рд╕реНрде рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ (sc.exe рдпрд╛ рд╕реЗрд╡рд╛ рдкреНрд░рдмрдВрдзрдХ рдкреНрд░рдмрдВрдзрди рдХрдВрд╕реЛрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк PowerShell рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

 PS C:\> get-service spooler -ComputerName novo8 Status Name DisplayName ------ ---- ----------- Running spooler Print Spooler 


рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЛрдИ рднреА рдХрдорд╛рдВрдб рд░рд┐рдореЛрдЯ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдИ рдХрдВрдкреНрдпреВрдЯрд░, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреВрд░рд╕реНрде рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЙрдЪрд┐рдд рдЕрдзрд┐рдХрд╛рд░ рд╣реИрдВред рдпрджрд┐ рдЖрдк PowerShell v3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдИ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдПрдХ рд╕реЗрд╡рд╛ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 PS C:\> get-service wuauserv -ComputerName chi-dc01,chi-dc02,chi-dc03 Status Name DisplayName ------ ---- ----------- Running wuauserv Windows Update Stopped wuauserv Windows Update Running wuauserv Windows Update 


рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░реЗрдВред

 PS C:\> get-service wuauserv -ComputerName chi-dc01,chi-dc02,chi-dc03 | format-table Name,Status,Machinename -autosize Name Status MachineName ---- ------ ----------- wuauserv Running chi-dc03 wuauserv Stopped chi-dc02 wuauserv Running chi-dc01 


рд╡рд╣реА рдкрд░рд┐рдгрд╛рдо, рд▓реЗрдХрд┐рди PowerShell v2 рдореЗрдВред

 PS C:\> 'chi-dc01','chi-dc02','chi-dc03'| foreach {get-service wuauserv -computername $_} | Format-Table Name,Status,Machinename -AutoSize Name Status MachineName ---- ------ ----------- wuauserv Running chi-dc01 wuauserv Stopped chi-dc02 wuauserv Running chi-dc03 


рдкреНрд░рднрд╛рд╡реА рдЫрд╛рдирдиреЗ рдХрд╛ рдХрд╛рдо (рдЬрд╣рд╛рдВ-рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)



рдЬрд╣рд╛рдБ- рдЬрд╣рд╛рдБ рд╡рд╕реНрддреБ cmdlet ( cmdlet рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрд╡рд╛рдПрдБ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рдХреЗрд╡рд▓ PowerShell рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдЙрди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдЬрд┐рдирдХреА рд╕реНрдерд┐рддрд┐ "рдмрдВрдж" рд╣реИред

 PS C:\> get-service | where {$_.status -eq 'stopped'} 


PowerShell рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ ("|" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдЕрдЧрд▓реЗ рдХрдорд╛рдВрдб рдкрд░ рднреЗрдЬрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдерд┐рддрд┐ рдЧреБрдг "рд░реЛрдХрд╛ рдЧрдпрд╛" рд╣реИ, рддреЛ рдпрд╣ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЗрд╕реЗ рдЗрд╕рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, PowerShell рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд░рд╣рддреА рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВред



рдЕрдм рдХрдИ рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдХ рд╕реЗрд╡рд╛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░реЗрдВред

 PS C:\> get-service -computername @('chi-dc01','chi-dc02','chi-dc03') | where {$_.name -eq 'wuauserv'} | format-table Name,Status,Machinename -autosize Name Status MachineName ---- ------ ----------- wuauserv Running chi-dc02 wuauserv Running chi-dc01 wuauserv Running chi-dc03 


рд╣рдо рдЙрдирдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

 PS C:\> get-service "win*" -comp chi-dc03 | where {$_.status -eq 'running'} Status Name DisplayName ------ ---- ----------- Running Winmgmt Windows Management Instrumentation Running WinRM Windows Remote Management (WS-Manag... 


рдпрд╣ рдХрдорд╛рдВрдб CHI-DC03 рдкрд░ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЦреЛрдЬрддреА рд╣реИ рдЬреЛ 'рдЬреАрдд' рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред
рдЖрдк рд╕реНрдЯреЗрдЯрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рджреНрд╡рд╛рд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЧреНрд░реБрдк рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 PS C:\> $dc03 = get-service -computername chi-dc03 | Group-Object -Property Status 


рдЪрд░ $ dc03 рдПрдХ GroupInfo рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред

 PS C:\> $dc03 Count Name Group ----- ---- ----- 64 Running {System.ServiceProcess.ServiceController, Sy... 79 Stopped {System.ServiceProcess.ServiceController, Sy... 


рд╕рдореВрд╣ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред

 PS C:\> $dc03.Get(0).group 


рдпрджрд┐ рдЖрдк рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдЙрдкрд░реЛрдХреНрдд рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред



рдореЗрд░реЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛ред

 PS C:\> $hash = get-service -computername chi-dc03 | Group-Object -Property Status -AsHashTable PS C:\> $hash Name Value ---- ----- Running {System.ServiceProcess.ServiceController, Sys... Stopped {System.ServiceProcess.ServiceController, Sys... 


рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рдирд╛рдо рд╣реИрд╢ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреЙрд╡рд╢реЗрд▓ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рд╣реИ, рддреЛ рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ:

 PS C:\> $hash.running.count 


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреЗрдЯрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА [System.ServiceProcess.ServiceControllerStatus] .NET рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдПрдиреНрдпреВрдорд░реЗрд╢рди рд╣реИред рд░рдирд┐рдВрдЧ рдФрд░ рд╕реНрдЯреЙрдк рдЬреИрд╕реЗ рдЧреБрдг рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВред PowerShell рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдЕрдзрд┐рдХ рджреГрд╢реНрдп рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред

 PS C:\> $hash = get-service -computername chi-dc03 | Group-Object -Property Status тАУAsHashTable тАУAsString 


рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ тАУрдПрд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╕рд╛рд░ рдХреНрдпрд╛ рд╣реИ, рдпрд╣ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЕрдм рд╣реИрд╢ рдЯреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ рд╣реИред

 PS C:\> $hash.running.count 62 PS C:\> $hash.running[0..3] Status Name DisplayName ------ ---- ----------- Running ADWS Active Directory Web Services Running AppHostSvc Application Host Helper Service Running BFE Base Filtering Engine Running BrokerInfrastru... Background Tasks Infrastructure Ser... 


рдПрдЬреЗрдВрдбрд╛ рдкрд░ рдЕрдЧрд▓рд╛ рдХрд╛рд░реНрдп рд╕рд░реНрд╡рд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╣реИред

рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛рдПрдБ


PowerShell рдПрдХ рджреВрд░рд╕реНрде рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рднреА, рдХрд┐рд╕реА рднреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

 PS C:\> get-service dns -ComputerName chi-dc03 тАУRequiredServices Status Name DisplayName ------ ---- ----------- Running Afd Ancillary Function Driver for Winsock Running Tcpip TCP/IP Protocol Driver Running RpcSs Remote Procedure Call (RPC) Running NTDS Active Directory Domain Services 


тАУRequiredServices рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рддреНрдпреЗрдХ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдЖрдк рдЖрдЧреЗ рднреА рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 PS C:\> get-service dns -ComputerName chi-dc03 -RequiredServices | select name,@{name="computername";expression={$_.machinename}} | get-service -RequiredServices Status Name DisplayName ------ ---- ----------- Running RpcEptMapper RPC Endpoint Mapper Running DcomLaunch DCOM Server Process Launcher 


Get-Service cmdlet рдХрд╛ тАУComputername рдкреИрд░рд╛рдореАрдЯрд░ рдЖрдЙрдЯрдкреБрдЯ рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ Computername рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ - рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдореИрдВ Select-Object рдХреЗ рд╕рд╛рде рд╣реИрд╢ рдЯреЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, CHI-DC03 рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ DNS рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдкреНрд░рдореБрдЦ рд╕реЗрд╡рд╛рдПрдВ



рд╣рдо рдЖрд╢реНрд░рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдХреБрдЫ рднреА рдХрдиреНрд╡реЗрдпрд░ рдХреЛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

 PS C:\> get-service dns -ComputerName chi-dc03 -DependentServices PS C:\> get-service lanmanworkstation -ComputerName chi-dc03 -DependentServices Status Name DisplayName ------ ---- ----------- Stopped SessionEnv Remote Desktop Configuration Running Netlogon Netlogon Running Dfs DFS Namespace Running Browser Computer Browser 


рдЖрд╡рд╢реНрдпрдХ рдФрд░ рдирд┐рд░реНрднрд░ рд╕реЗрд╡рд╛рдПрдВ рднреА рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред

 PS C:\> get-service rpcss | Select *services RequiredServices DependentServices ---------------- ----------------- {RpcEptMapper, DcomLaunch} {WwanSvc, wuauserv, WSearch, wscsvc...} 


рдЗрд╕ рдмреАрдЪ, рдЖрдк рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рдореНрди рдХрдорд╛рдВрдб

 PS C:\> get-service тАУDependentServices 


рдпрд╣ рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред рдЯреАрдо PowerShell v3 рд╕реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИред

 PS C:\> get-service dns -comp chi-dc01,chi-dc03 -RequiredServices | Sort Machinename,Name | Format-table -GroupBy machinename 


рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВред



PowerShell v2 рдореЗрдВ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рдирд╛рдо (рдХрдВрдкреНрдпреВрдЯрд░) рдХреЛ рдЧреЗрдЯ-рд╕рд░реНрд╡рд┐рд╕ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
 PS C:\> "chi-dc01","chi-dc03" | foreach { get-service dns -comp $_ -RequiredServices} | Sort Machinename,Name | format-table -GroupBy machinename 


рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╢реБрд░реВ, рдмрдВрдж рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдЧрд╛ред
рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдЕрдВрддред

рдпреБрдкреАрдбреА:
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдкреЛрд░реНрдЯрд▓ 4sysops.com рдХреЗ рд▓реЗрдЦреЛрдВ рдХреЗ рдЕрдиреБрд╡рд╛рдж рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
PowerShell рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ - рднрд╛рдЧ 1
PowerShell рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ - рднрд╛рдЧ 2

рдкреБрдирд╢реНрдЪ рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдореБрдлреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рднреА рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдиреЗрдЯрд╡рд░реНрдХреНрд╕ рд╕рд░реНрд╡рд┐рд╕ рдореЙрдирд┐рдЯрд░ ред рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рд░реНрд╡рд░ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдкрд░ рд╕рднреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЕрдЪрд╛рдирдХ рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдИрдореЗрд▓ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрддрд╛ рд╣реИред рдкреБрдирд░рд╛рд░рдВрдн рдлрд╝рдВрдХреНрд╢рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдирд┐рдпрдВрддреНрд░рд┐рдд рд╕реЗрд╡рд╛рдПрдВ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрдВрдЧреАред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ: рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, рдХрдВрдкреНрдпреВрдЯрд░ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдИрдореЗрд▓ рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In166289/


All Articles