Set-Service (Microsoft.PowerShell.Management)
Set-Service
- Модуль:
- Microsoft.PowerShell.Management
Запускает, останавливает и приостанавливает службу, а также изменяет ее свойства.
Синтаксис
Set-Service
[-Name] <String>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-Status <String>]
[-SecurityDescriptorSddl <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Set-Service
[-InputObject] <ServiceController>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-SecurityDescriptorSddl <String>]
[-Status <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Описание
Этот командлет доступен только на платформе Windows.
Командлет Set-Service изменяет свойства службы, такие как Status, Description, DisplayName и <Тип запуска. Set-Service может запустить, остановить, приостановить или приостановить службу. Чтобы идентифицировать службу, введите ее имя или отправьте объект службы. Или отправьте имя службы или объект службы по конвейеру в Set-Service.
Примеры
Пример 1. Изменение отображаемого имени
В этом примере изменяется отображаемое имя службы. Чтобы просмотреть исходное отображаемое имя, используйте Get-Service.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"Set-Service использует параметр Name для указания имени службы, LanmanWorkstation. Параметр DisplayName определяет новое отображаемое имя: LanMan Workstation.
Пример 2. Изменение типа запуска служб
В этом примере показано, как изменить тип запуска службы.
Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name StartType Status
---- --------- ------
BITS Automatic RunningSet-Service использует параметр Name для указания имени службы, BITS. Параметр StartupType устанавливает для службы значение Автоматически.
Get-Service использует параметр Name для указания службы BITS и отправляет объект по конвейеру. Select-Object использует параметр Property для отображения состояния службы BITS.
Пример 3. Изменение описания услуги
В этом примере изменяется описание службы BITS и отображается результат.
Командлет Get-CimInstance используется, поскольку он возвращает объект Win32_Service, который включает Описание службы.
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
disabled, then any applications that depend on BITS, such as Windows Update or MSN
Explorer, will be unable to automatically download programs and other information.
Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth.Get-CimInstance отправляет объект по конвейеру в Format-List и отображает имя и описание службы. Для сравнения команда запускается до и после обновления описания.
Set-Service использует параметр Name для указания службы BITS. Параметр Description указывает обновленный текст описания служб.
Пример 4. Запуск службы
В этом примере запускается служба.
Set-Service -Name WinRM -Status Running -PassThru
Status Name DisplayName
------ ---- -----------
Running WinRM Windows Remote Management (WS-Manag...Set-Service использует параметр Name для указания службы WinRM. Параметр Status использует значение Running для запуска службы. Параметр PassThru выводит объект ServiceController, который отображает результаты.
Пример 5. Приостановка службы
В этом примере используется конвейер для приостановки обслуживания.
Get-Service -Name Schedule | Set-Service -Status PausedGet-Service использует параметр Name для указания службы Schedule и отправляет объект по конвейеру. Set-Service использует параметр Status, чтобы установить для службы статус Приостановлено.
Пример 6. Остановка службы
В этом примере используется переменная для остановки службы.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status StoppedGet-Service использует параметр Name для указания службы Расписание. Объект хранится в переменной $S. Set-Service использует параметр InputObject и указывает объект, хранящийся в $S. Параметр Status устанавливает для службы значение Остановлен.
Пример 7. Остановка службы в удаленной системе
В этом примере останавливается служба на удаленном компьютере. Дополнительные сведения см. в разделе Invoke-Command.
$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
Set-Service -InputObject $S -Status Stopped
}Get-Credential запрашивает имя пользователя и пароль и сохраняет учетные данные в переменной $Cred. Get-Service использует параметр Name для указания службы Расписание. Объект хранится в переменной $S.
Invoke-Command использует параметр ComputerName для указания удаленного компьютера. Параметр Credential использует переменную $Cred для входа на компьютер. ScriptBlock вызывает Set-Service. Параметр InputObject указывает объект службы, хранящийся в $S. Параметр Status устанавливает для службы значение Остановлен.
Пример 8. Изменение учетных данных службы
В этом примере изменяются учетные данные, используемые для управления службой.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credentialGet-Credential запрашивает имя пользователя и пароль и сохраняет учетные данные в переменной $credential. Set-Service использует параметр Name для указания службы Расписание. Параметр Credential использует переменную $credential и обновляет службу Расписание.
Пример 9. Изменение SecurityDescriptor службы
В этом примере изменяется SecurityDescriptor службы.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDLSecurityDescriptor хранится в переменной $SDDL. Set-Service использует параметр Name для указания службы BITS. Параметр SecurityDescriptorSddl использует $SDDL для изменения SecurityDescriptor для службы BITS.
Пример 10. Установка типа запуска для нескольких служб
Командлет Set-Service принимает только одно имя службы одновременно. Однако вы можете передать несколько служб в Set-Service, чтобы изменить конфигурацию нескольких служб.
Get-Service SQLWriter,spooler |
Set-Service -StartupType Automatic -PassThru |
Select-Object Name, StartType
Name StartType
---- ---------
spooler Automatic
SQLWriter AutomaticПараметры
-Confirm
Запрашивает подтверждение перед запуском Set-Service.
- Тип :
SwitchParameter
- Псевдонимы:
cf
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Credential
Указывает учетную запись, используемую службой, в качестве учетной записи входа в службу.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, например, сгенерированный командой Get. -Credential командлет. Если вы введете имя пользователя, этот командлет запросит пароль.
Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.
Примечание
Дополнительную информацию о защите данных SecureString см. в разделе Насколько безопасен SecureString?.
Этот параметр был введен в PowerShell 6.0.
- Тип :
PSCredential
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Description
Указывает новое описание службы.
Описание службы отображается в разделе Управление компьютером, Службы. Описание не является свойством объекта Get-Service ServiceController. Чтобы просмотреть описание службы, используйте Get-CimInstance, который возвращает объект Win32_Service, представляющий службу.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-DisplayName
Указывает новое отображаемое имя службы.
Примечание
Обычно Set-Service работает только со службами Windows, а не с драйверами. Однако если вы укажете имя драйвера, Set-Service сможет указать именно этот драйвер.
- Тип :
String
- Псевдонимы:
DN
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Force
Указывает режим остановки службы. Этот параметр работает только при использовании -Status Stopped. Если этот параметр включен, Set-Service останавливает зависимые службы до остановки целевой службы. По умолчанию исключения возникают, когда другие запущенные службы зависят от целевой службы.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-InputObject
Указывает объект ServiceController, представляющий изменяемую службу. Введите переменную, содержащую объект, или введите команду или выражение, получающее объект, например команду Get-Service. Вы можете использовать конвейер для отправки объекта службы в Set-Service.
- Тип :
ServiceController
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-Name
Указывает имя службы, которую необходимо изменить. Подстановочные знаки не допускаются. Вы можете использовать конвейер для отправки имени службы в Set-Service.
Примечание
Обычно Set-Service работает только со службами Windows, а не с драйверами. Однако если вы укажете имя драйвера, Set-Service сможет указать именно этот драйвер.
- Тип :
String
- Псевдонимы:
ServiceName, SN
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-PassThru
Возвращает объект ServiceController, представляющий измененные службы. По умолчанию Set-Service не генерирует никаких выходных данных.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-SecurityDescriptorSddl
Указывает SecurityDescriptor для службы в формате Sddl. Учетная запись, вызывающая Set-Service с этим параметром, должна иметь разрешения WRITE_DAC и WRITE_OWNER. Дополнительные сведения см. в разделе Безопасность службы и права доступа.
- Тип :
String
- Псевдонимы:
sd
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-StartupType
Указывает режим запуска службы.
Допустимые значения этого параметра следующие:
- Автоматически. Служба запускается или была запущена операционной системой при запуске системы. Если автоматически запускаемая служба зависит от службы, запускаемой вручную, служба, запускаемая вручную, также запускается автоматически при запуске системы.
- AutomaticDelayedStart - запускается вскоре после загрузки системы.
- Отключено - служба отключена и не может быть запущена пользователем или приложением.
- InvalidValue — не имеет эффекта. Командлет не возвращает ошибку, но StartupType службы не изменяется.
- Вручную. Служба запускается только вручную пользователем, с помощью диспетчера управления службами или приложения.
- Тип :
Тип запуска службы
- Псевдонимы:
StartMode, SM, ST, StartType
- Принятые значения:
Автоматически, АвтоматическийDelayedStart, Отключено, ИнвалидЗначение, Вручную
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Status
Указывает статус службы.
Допустимые значения этого параметра следующие:
- Приостановлено. Приостанавливает услугу.
- Бег. Запускает службу.
- Остановлено. Останавливает службу.
- Тип :
String
- Принятые значения:
Приостановлено, работает, остановлено
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-WhatIf
Показывает, что произойдет, если Set-Service запустится. Командлет не запускается.
- Тип :
SwitchParameter
- Псевдонимы:
wi
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
Входы
Сервисконтроллер
Вы можете передать объект службы этому командлету.
Строка
В этот командлет можно передать строку, содержащую имя службы.
Выходы
Нет
По умолчанию этот командлет не возвращает никаких результатов.
Сервисконтроллер
При использовании параметра PassThru этот командлет возвращает объект ServiceController.
Примечания
Этот командлет доступен только на платформах Windows.
Set-Service требует повышенных разрешений. Используйте параметр Запуск от имени администратора.
Set-Service может управлять службами только в том случае, если у текущего пользователя есть разрешения на управление службами. Если команда работает неправильно, возможно, у вас нет необходимых разрешений.
Чтобы найти имя или отображаемое имя службы, используйте Get-Service. Имена служб находятся в столбце Имя, а отображаемые имена — в столбце DisplayName.