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
использует параметр 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 Running
Set-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 использует значение Выполняется для запуска службы. Параметр PassThru выводит объект ServiceController , который отображает результаты.
Пример 5. Приостановка службы
В этом примере конвейер используется для приостановки обслуживания.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
использует параметр Name для указания службы Schedule и отправляет объект вниз по конвейеру. Set-Service
использует параметр Status , чтобы задать для службы значение Приостановлено.
Пример 6. Остановка службы
В этом примере используется переменная для остановки службы.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-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 $credential
Get-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 $SDDL
SecurityDescriptor хранится в переменной $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
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Указывает учетную запись, используемую службой в качестве учетной записи входа в службу.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например объект, созданный командлетом Get-Credential
. При вводе имени пользователя этот командлет запрашивает пароль.
Учетные данные хранятся в объекте PSCredential , а пароль хранится как SecureString.
Примечание
Дополнительные сведения о защите данных SecureString см. в разделе Насколько безопасно SecureString?.
Этот параметр появился в PowerShell 6.0.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Задает новое описание службы.
Описание службы отображается в разделе Управление компьютером, Службы. Описание не является свойством Get-Service
объекта ServiceController. Чтобы просмотреть описание службы, используйте Get-CimInstance
функцию , которая возвращает объект Win32_Service , представляющий службу.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
Задает новое отображаемое имя службы.
Примечание
Как правило, работает только со службами Windows, Set-Service
но не с драйверами. Однако, если указать имя драйвера, Set-Service
можно нацелить на драйвер.
Type: | String |
Aliases: | DN |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Указывает режим остановки службы. Этот параметр работает только при -Status Stopped
использовании . Если этот параметр включен, Set-Service
останавливает зависимые службы до остановки целевой службы. По умолчанию исключения возникают, когда другие работающие службы зависят от целевой службы.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Указывает объект ServiceController , представляющий изменяемую службу. Введите переменную, содержащую объект , или введите команду или выражение, которое получает объект, например Get-Service
команду. Конвейер можно использовать для отправки объекта службы в Set-Service
.
Type: | ServiceController |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Указывает имя службы, которую нужно изменить. Подстановочные знаки запрещены. Вы можете использовать конвейер для отправки имени службы в Set-Service
.
Примечание
Как правило, работает только со службами Windows, Set-Service
но не с драйверами. Тем не менее, если указать имя драйвера, Set-Service
можно выбрать драйвер.
Type: | String |
Aliases: | ServiceName, SN |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Возвращает объект ServiceController , представляющий измененные службы. По умолчанию Set-Service
не создает никаких выходных данных.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecurityDescriptorSddl
Указывает SecurityDescriptor для службы в формате Sddl . Учетная запись, вызывающая Set-Service
с помощью этого параметра, должна иметь разрешения WRITE_DAC и WRITE_OWNER. Дополнительные сведения см. в статье Безопасность служб и права доступа.
Type: | String |
Aliases: | sd |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartupType
Указывает режим запуска службы.
Ниже приведены допустимые значения для этого параметра.
- Автоматически — служба запущена или запущена операционной системой при запуске системы. Если служба, запускаемая автоматически, зависит от службы, запускаемой вручную, запускаемая вручную служба также запускается автоматически при запуске системы.
- AutomaticDelayedStart — запускается вскоре после загрузки системы.
- Отключено — служба отключена и не может быть запущена пользователем или приложением.
- InvalidValue — не действует. Командлет не возвращает ошибку, но startupType службы не изменяется.
- Вручную . Служба запускается только вручную, пользователем, с помощью диспетчера управления службами или приложением.
Type: | ServiceStartupType |
Aliases: | StartMode, SM, ST, StartType |
Accepted values: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Status
Указывает состояние службы.
Ниже приведены допустимые значения для этого параметра.
- Приостановлено. приостанавливает службу.
- Выполняется. запускает службу.
- Остановлен. останавливает службу.
Type: | String |
Accepted values: | Paused, Running, Stopped |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Показывает, что произойдет при Set-Service
выполнении. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Вы можете передать объект службы в этот командлет.
В этот командлет можно передать строку, содержащую имя службы.
Выходные данные
None
По умолчанию этот командлет не возвращает выходные данные.
При использовании параметра PassThru этот командлет возвращает объект ServiceController .
Примечания
Этот командлет доступен только на платформах Windows.
Set-Service
требуются повышенные разрешения. Используйте параметр Запуск от имени администратора .
Set-Service
может управлять службами только в том случае, если у текущего пользователя есть разрешения на управление службами. Если команда работает неправильно, возможно, у вас нет необходимых разрешений.
Чтобы найти имя службы или отображаемое имя службы, используйте .Get-Service
Имена служб находятся в столбце Имя , а отображаемые имена — в столбце DisplayName .