Запускает, останавливает и приостанавливает службу и изменяет ее свойства.
Синтаксис
Set-Service [-Name] <string> [-Описание <string>] [-DisplayName <string>] [-PassThru] [-StartupType {<Automatic> | <Manual> | <Disabled>}] [-Status <string>] [-ComputerName <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>] Set-Service [-Description <string>] [-DisplayName <string>] [-InputObject <ServiceController>] [-PassThru] [-StartupType {<Automatic> | <Manual> | <Disabled>}] [-Status <string>] [-ComputerName <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]
Описание
Командлет Set-Service изменяет свойства локальной или удаленной службы, включая состояние, описание, отображаемое имя и режим запуска. Этот командлет можно использовать для запуска, остановки или приостановки службы. Для задания службы можно ввести ее имя или передать объект службы, либо передать имя службы или объект службы командлету Set-Service по конвейеру.
Параметры
-ComputerName <string[]>
Задает один или несколько компьютеров. По умолчанию используется значение "Локальный компьютер".
Введите имя NetBIOS, IP-адрес или полное доменное имя удаленного компьютера. Чтобы указать локальный компьютер, введите имя компьютера, точку (.) или "localhost".
Этот параметр не использует удаленное взаимодействие Windows PowerShell. Параметр ComputerName командлета Set-Service можно использовать, даже если компьютер не настроен на выполнение удаленных команд.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
local computer |
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Description <string>
Задает новое описание службы.
Описание службы отображается на вкладке "Службы" оснастки "Управление компьютером". Описание не является свойством объекта ServiceController, получаемого командлетом Get-Service. Чтобы просмотреть описание службы, используйте командлет Get-WmiObject для получения объекта Win32_Service, который представляет одноименную службу.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-DisplayName <string>
Задает новое отображаемое имя службы.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-InputObject <ServiceController>
Задает объект ServiceController, представляющий изменяемую службу. Введите переменную, содержащую объект, либо команду или выражение, получающие объект, например команду Get-Service. Кроме того, можно передать объект службы командлету Set-Service по конвейеру.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue) |
Принимать подстановочные знаки? |
false |
-Name <string>
Задает имя изменяемой службы. Подстановочные знаки запрещены. Кроме того, можно передать имя службы командлету Set-Service по конвейеру.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
false |
-PassThru
Возвращает объекты, представляющие измененные службы. По умолчанию этот командлет не формирует никаких выходных данных.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-StartupType <ServiceStartMode>
Изменяет режим запуска службы. Параметр StartupType может принимать следующие значения:
-- Automatic: автоматический запуск при запуске системы.
-- Manual: запуск осуществляется только пользователем или приложением.
-- Disabled: запуск запрещен.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Status <string>
Запускает, останавливает или приостанавливает службы. Допустимые значения:
-- Running: запускает службу.
-- Stopped: останавливает службу.
-- Paused: приостанавливает службу.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Confirm
Запрашивает подтверждение перед выполнением команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-WhatIf
Описывает, что произойдет при выполнении команды, без ее фактического выполнения.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.ServiceProcess.ServiceController, System.String Можно передать объект службы или строку, содержащую имя службы, по конвейеру командлету Set-Service. |
Выходные данные |
Нет Этот командлет не возвращает никаких объектов. |
Примечания
Чтобы использовать командлет Set-Service в Windows Vista и более поздних версиях Windows, необходимо запускать Windows PowerShell командой "Запуск от имени администратора".
Командлет Set-Service может использоваться для управления службами, только если у текущего пользователя есть на это разрешение. Некорректная работа команды может быть обусловлена отсутствием требуемых разрешений.
Чтобы извлечь имена служб и отображаемые имена служб на текущем компьютере, введите команду "Get-Service". Имена служб содержатся в столбце Name, а отображаемые имена — в столбце DisplayName.
Пример 1
C:\PS>set-service -name lanmanworkstation -DisplayName "LanMan Workstation" Описание ----------- Эта команда изменяет отображаемое имя службы "lanmanworkstation" на "LanMan Workstation". (По умолчанию используется имя "Workstation".)
Пример 2
C:\PS>get-wmiobject win32_service -filter "name = 'SysmonLog'" ExitCode : 0 Name : SysmonLog ProcessId : 0 StartMode : Manual State : Stopped Status : OK C:\PS> set-service sysmonlog -startuptype automatic C:\PS> get-wmiobject win32_service -filter "name = 'SysmonLog'" ExitCode : 0 Name : SysmonLog ProcessId : 0 StartMode : Auto State : Stopped Status : OK C:\PS> get-wmiobject win32_service | format-table Name, StartMode -auto Name StartMode ---- --------- AdtAgent Auto Alerter Disabled ALG Manual AppMgmt Manual ... Описание ----------- Приведенные команды извлекают тип запуска службы "Журналы и оповещения производительности" (SysmonLog), изменяют тип запуска на автоматический, а затем отображают результаты изменения. В этих командах используется командлет Get-WmiObject для получения объекта Win32_Service службы, поскольку объект ServiceController, возвращаемый командлетом Get-Service, не включает в себя тип запуска. Первая команда с помощью командлета Get-WmiObject получает объект WMI, представляющий службу SysmonLog. По умолчанию в выходных данных этой команды указывается тип запуска службы. Вторая команда с помощью командлета Set-Service изменяет тип запуска на автоматический. Затем повторно вызывается первая команда для отображения внесенных изменений. Последняя команда отображает типы запуска всех служб на компьютере.
Пример 3
C:\PS>set-service -name Schedule -computername S1 -description "Configures and schedules tasks." C:\PS> get-wmiobject win32_service -computername s1 | where-object {$_.Name -eq "Schedule"} | format-list Name, Description Описание ----------- Приведенные команды изменяют описание службы Task Scheduler на удаленном компьютере S1, а затем отображают результат изменения. В этих командах используется командлет Get-WmiObject для получения объекта Win32_Service службы, поскольку объект ServiceController, возвращаемый командлетом Get-Service, не включает в себя описание службы. Первая команда с помощью командлета Set-Service изменяет описание. Эта команда обращается к службе с помощью ее имени: "Schedule". Вторая команда с помощью командлета Get-WmiObject получает экземпляр службы WMI Win32_Service, представляющий службу планировщика заданий. Первый элемент команды получает все экземпляры класса Win32_service. Оператор конвейера (|) передает результаты командлету Where-Object, который выбирает из них те, у которых свойство Name имеет значение "Schedule". Следующий оператор конвейера пересылает результаты командлету Format-List, который осуществляет вывод данных с указанием только двух свойств: Name и Description.
Пример 4
C:\PS>set-service winrm -status Running -passthru -computername Server02 Описание ----------- Эта команда запускает на компьютере Server02 службу WinRM. Параметр Status используется для задания требуемого состояния ("running"), а параметр PassThru указывает командлету Set-Service возвратить объект, представляющий службу WinRM.
Пример 5
C:\PS>get-service schedule -computername S1, S2 | set-service -status paused Описание ----------- Эта команда приостанавливает службу Schedule на удаленных компьютерах S1 и S2. Для получения службы используется командлет Get-Service. Оператор конвейера (|) пересылает службу командлету Set-Service, который изменяет ее состояние на "Paused".
Пример 6
C:\PS>$s = get-service schedule C:\PS> set-service -inputobject $s -status stopped Описание ----------- Приведенные команды останавливают службу Schedule на локальном компьютере. Первая команда с помощью командлета Get-Service получает службу Schedule. Служба сохраняется в переменной $s. Вторая команда с помощью командлета Set-Service изменяет состояние службы Schedule на "Stopped". Параметр InputObject используется для передачи службы, хранящейся в переменной $s, а параметр Status используется для задания требуемого статуса.
См. также