В этой части мы поговорим об управлении службами.Каждому системному администратору доводилось сталкиваться с такими задачами как удаленная перезагрузка сервисов(например подвисла очередь печати) , или работой с ServerCore а так-же автоматическим подъемом служб после неожиданной остановки.Powershell 2.0 обладает отличными возможностями работать со службами windows.
Получить список служб очень легко:
PS C:Windowssystem32> Get-Service
Status Name DisplayName
—— —- ————
Running AeLookupSvc Информация о совместимости приложений
Stopped ALG Служба шлюза уровня приложения
Stopped AppIDSvc Удостоверение приложения
Running Appinfo Сведения о приложении
Stopped AppMgmt Управление приложениями
Running AudioEndpointBu… Средство построения конечных точек …
Running Audiosrv Windows Audio
Stopped AxInstSV Установщик ActiveX (AxInstSV)
Stopped BDESVC Служба шифрования дисков BitLocker
Running BFE Служба базовой фильтрации
Running BITS Фоновая интеллектуальная служба пер…
Либо: PS C:Windowssystem32> Get-WmiObject win32_service
Остановку работы служб можно осуществить например двумя методами:
PS C:Windowssystem32> Stop-Service -name VSS или
PS C:Windowssystem32> (Get-WmiObject win32_service -filter «name=’VSS’»).StopService()
Запуск слжб осуществляется аналогично:
PS C:Windowssystem32> Start-Service -name VSS или
PS C:Windowssystem32> (Get-WmiObject win32_service -filter «name=’VSS’»).StartService()
Получить статус службы можно так:
PS C:Windowssystem32> Get-Service VSS
Status Name DisplayName
—— —- ————
Running VSS Теневое копирование тома
Или более информативный вывод:
PS C:Windowssystem32> Get-Service VSS | Format-List *
Name : VSS
RequiredServices : {RPCSS}
CanPauseAndContinue : False
CanShutdown : True
CanStop : True
DisplayName : Теневое копирование тома
DependentServices : {}
MachineName : .
ServiceName : VSS
ServicesDependedOn : {RPCSS}
ServiceHandle : SafeServiceHandle
Status : Running
ServiceType : Win32OwnProcess
Site :
Container :
Или совсем полный список:
PS C:Windowssystem32> Get-WmiObject win32_service -filter «name=’VSS’» | Format-List *
Name : VSS
Status : OK
ExitCode : 0
DesktopInteract : False
ErrorControl : Normal
PathName : C:Windowssystem32vssvc.exe
ServiceType : Own Process
StartMode : Manual
__GENUS : 2
__CLASS : Win32_Service
__SUPERCLASS : Win32_BaseService
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_Service.Name=»VSS»
__PROPERTY_COUNT : 25
__DERIVATION : {Win32_BaseService, CIM_Service, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : ПК
__NAMESPACE : rootcimv2
__PATH : \НАСТЯ-ПКrootcimv2:Win32_Service.Name=»VSS»
AcceptPause : False
AcceptStop : True
Caption : Теневое копирование тома
CheckPoint : 0
CreationClassName : Win32_Service
Description : Управляет созданием теневых копий (контрольных точек состояния) дисковых томов, которые испол
ьзуются для архивации и восстановления или для иных целей. Если эта служба остановлена, тенев
ые копии томов для восстановления не будут доступны и архивация и восстановление могут не раб
отать. Если эта служба отключена, любые службы, которые явно зависят от нее, не могут быть за
пущены.
DisplayName : Теневое копирование тома
InstallDate :
ProcessId : 3664
ServiceSpecificExitCode : 0
Started : True
StartName : LocalSystem
State : Running
SystemCreationClassName : Win32_ComputerSystem
SystemName : ПК
TagId : 0
WaitHint : 0
Scope : System.Management.ManagementScope
Path : \НАСТЯ-ПКrootcimv2:Win32_Service.Name=»VSS»
Options : System.Management.ObjectGetOptions
ClassPath : \НАСТЯ-ПКrootcimv2:Win32_Service
Properties : {AcceptPause, AcceptStop, Caption, CheckPoint…}
SystemProperties : {__GENUS, __CLASS, __SUPERCLASS, __DYNASTY…}
Qualifiers : {dynamic, Locale, provider, UUID}
Site :
Container :
Перевод службы на автоматическийручной режим запуска:
C:PS>get-wmiobject win32_service -filter «name = ‘VSS’»
ExitCode : 0
Name : VSS
ProcessId : 0
StartMode : Manual
State : Stopped
Status : OK
C:PS> set-service VSS -startuptype automatic
C:PS> get-wmiobject win32_service -filter «name = ‘VSS’»
ExitCode : 0
Name : VSS
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
C:PS> set-service VSS -startuptype manual
C:PS> get-wmiobject win32_service -filter «name = ‘VSS’»
ExitCode : 0
Name : VSS
ProcessId : 0
StartMode : Manual
State : Stopped
Status : OK