Set-Service
Запускает, останавливает и приостанавливает службу и изменяет его свойства.
Синтаксис
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и StartupType.
Set-Service
может запускать, останавливать, приостановить или поставить на паузу службу. Чтобы определить службу, введите имя службы или отправьте объект службы. Или отправьте имя службы или объект службы вниз по конвейеру в Set-Service
.
Примеры
Пример 1. Изменение отображаемого имени
В этом примере отображаемое имя службы изменяется. Чтобы просмотреть исходное отображаемое имя, используйте Get-Service
.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service
использует параметр имени для указания имени службы LanmanWorkstation. Параметр задает новое отображаемое имя, Рабочая станция LanMan .
Пример 2. Изменение типа запуска служб
В этом примере показано, как изменить тип запуска службы.
Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name StartType Status
---- --------- ------
BITS Automatic Running
Set-Service
использует параметр Name для указания имени службы BITS. Параметр StartupType устанавливает службу на автоматический.
Get-Service
использует параметр имени, чтобы задать службу BITS и отправить объект по конвейерному каналу.
Select-Object
использует параметр из свойства для отображения состояния службы 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
использует параметр имени, чтобы указать службу BITS. Параметр Описание задает обновленный текст для описания служб.
Пример 4. Запуск службы
В этом примере запускается служба.
Set-Service -Name WinRM -Status Running -PassThru
Status Name DisplayName
------ ---- -----------
Running WinRM Windows Remote Management (WS-Manag...
Set-Service
использует параметр Name для указания службы WinRM. Параметр состояния использует значение работа для запуска службы. Параметр PassThru выводит объект ServiceController, отображающий результаты.
Пример 5. Приостановка службы
В этом примере конвейер используется для паузы на обслуживание.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
использует параметр имени , чтобы указать сервис Schedule и переслать объект по конвейеру.
Set-Service
использует параметр состояния для установки службы на приостановленное.
Пример 6. Остановка службы
В этом примере используется переменная для остановки службы.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-Service
использует параметр имени для указания службы расписания. Объект хранится в переменной $S
.
Set-Service
использует параметр InputObject и задает объект, сохраненный $S
. Параметр состояния задает службе значение Остановлено.
Пример 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
использует параметр имени для указания службы расписания . Объект хранится в переменной $S
.
Invoke-Command
использует параметр ComputerName для указания удаленного компьютера. Параметр Credential использует переменную $Cred
для входа на компьютер.
ScriptBlock вызываетSet-Service
. Параметр InputObject указывает на объект службы, хранящийся $S
. Параметр состояния задает службе значение Остановлено.
Пример 8. Изменение учетных данных службы
В этом примере изменяются учетные данные, используемые для управления службой.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential
Get-Credential
запрашивает имя пользователя и пароль и сохраняет учетные данные в переменной $credential
.
Set-Service
использует параметр имени для указания службы расписания . Параметр учетных данных использует переменную $credential
и обновляет службу расписания .
Пример 9. Изменение дескриптора безопасности службы
В этом примере изменяется дескриптор безопасности службы .
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
SecurityDescriptor хранится в переменной $SDDL
.
Set-Service
использует параметр имени, чтобы указать службу 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 |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Указывает учетную запись, используемую службой в качестве учетной записи входа в службу.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, например один, созданный командлетом Get-Credential
. При вводе имени пользователя этот командлет запрашивает пароль.
Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.
Заметка
Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно SecureString?.
Этот параметр появился в PowerShell 6.0.
Тип: | PSCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Description
Задает новое описание службы.
Описание службы отображается в Управление компьютером, Службы.
Description не является свойством объекта Get-Service
ServiceController. Чтобы просмотреть описание службы, используйте Get-CimInstance
, возвращающий объект Win32_Service, представляющий службу.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DisplayName
Задает новое отображаемое имя службы.
Заметка
Как правило, Set-Service
работает только в службах Windows, а не драйверах. Однако если указать имя драйвера, Set-Service
может нацелиться на драйвер.
Тип: | String |
Aliases: | DN |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Force
Указывает режим остановки службы. Этот параметр работает только при использовании -Status Stopped
. Если этот параметр включен, Set-Service
останавливает зависимые службы до остановки целевой службы. По умолчанию исключения возникают, когда другие запущенные службы зависят от целевой службы.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Указывает объект ServiceController, представляющий службу для изменения. Введите переменную, содержащую объект, или введите команду или выражение, которое получает объект, например команду Get-Service
. Конвейер можно использовать для отправки служебного объекта в Set-Service
.
Тип: | ServiceController |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Name
Указывает имя службы, которое необходимо изменить. Подстановочные знаки не разрешены. Вы можете использовать конвейер для отправки имени службы в Set-Service
.
Заметка
Как правило, Set-Service
работает только в службах Windows, а не драйверах. Однако если указать имя драйвера, Set-Service
может нацелиться на драйвер.
Тип: | String |
Aliases: | ServiceName, SN |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-PassThru
Возвращает объект ServiceController, представляющий измененные службы. По умолчанию Set-Service
не создает выходные данные.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SecurityDescriptorSddl
Указывает SecurityDescriptor для службы в формате Sddl. У учетной записи, вызывающей Set-Service
с этим параметром, должны быть разрешения WRITE_DAC и WRITE_OWNER. Дополнительные сведения см. в службы безопасности и доступа.
Тип: | String |
Aliases: | sd |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-StartupType
Указывает начальный режим службы.
Допустимые значения для этого параметра приведены следующим образом:
- автоматическое — служба запускается или была запущена операционной системой при запуске системы. Если служба автоматического запуска зависит от службы, запущенной вручную, служба вручную запускается автоматически при запуске системы.
- AutomaticDelayedStart — запускается вскоре после загрузки системы.
- Отключено — службу нельзя запустить ни пользователем, ни приложением.
- InvalidValue — не имеет эффекта. Командлет не возвращает ошибку, но тип запуска службы не изменяется.
- Вручную. Служба запускается только вручную пользователем, через Менеджер управления службами, или с помощью приложения.
Тип: | ServiceStartupType |
Aliases: | StartMode, SM, ST, StartType |
Допустимые значения: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Status
Указывает статус службы.
Допустимые значения для этого параметра приведены следующим образом:
- Приостановка. Приостанавливает службу.
- выполнение. Запускает службу.
- остановлено. Останавливает службу.
Тип: | String |
Допустимые значения: | Paused, Running, Stopped |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если Set-Service
выполняется. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Объект сервиса можно передать в этот командлет в качестве параметра.
Можно передать строку, содержащую имя службы в этот командлет.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
При использовании параметра PassThru этот командлет возвращает объект ServiceController.
Примечания
Этот командлет доступен только на платформах Windows.
Set-Service
требуются повышенные разрешения. Используйте параметр Запустить от имени администратора.
Set-Service
может управлять только службами, если у текущего пользователя есть разрешения на управление службами. Если команда не работает правильно, возможно, у вас нет необходимых разрешений.
Чтобы найти имя службы или отображаемое имя службы, используйте Get-Service
. Названия сервисов находятся в столбце Name, а отображаемые имена находятся в столбце DisplayName.
Связанные ссылки
PowerShell