Запускает, останавливает и приостанавливает службу и изменяет ее свойства.

Синтаксис

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 используется для задания требуемого статуса.






См. также




Содержание