Запускает остановленные службы.

Синтаксис

Start-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

Start-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

Start-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]

Описание

Командлет Start-Service отсылает сообщение о запуске диспетчеру служб Windows для каждой указанной службы. Если служба уже запущена, сообщение игнорируется (ошибка при этом не возникает). Службы можно задавать с помощью их имен или отображаемых имен. Кроме того, можно с помощью параметра InputObject передавать объекты, представляющие запускаемые службы.

Параметры

-DisplayName <string[]>

Задает отображаемые имена запускаемых служб. Подстановочные знаки разрешены.

Обязательно?

true

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Exclude <string[]>

Исключает указанные службы. Значение данного параметра определяет значение параметра Name. Введите часть имени или шаблон, например "s*". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Include <string[]>

Запускает только указанные службы. Значение данного параметра определяет значение параметра Name. Введите часть имени или шаблон, например "s*". Подстановочные знаки разрешены.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-InputObject <ServiceController[]>

Задает объекты ServiceController, представляющие запускаемые службы. Введите переменную, содержащую объекты, либо команду или выражение для получения объектов.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue)

Принимать подстановочные знаки?

false

-Name <string[]>

Задает имена запускаемых служб.

Имя параметра указывать необязательно. Можно использовать "-Name" или его псевдоним ("-ServiceName") либо опустить имя параметра.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByValue, ByPropertyName)

Принимать подстановочные знаки?

false

-PassThru

Возвращает объект, представляющий службу. По умолчанию этот командлет не формирует никаких выходных данных.

Обязательно?

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

Можно передавать объекты, представляющие службы, или строки с именами служб командлету Start-Service по конвейеру.

Выходные данные

Нет или System.ServiceProcess.ServiceController

Если задан параметр PassThru, командлет Start-Service формирует объект System.ServiceProcess.ServiceController, представляющий службу. В противном случае этот командлет не формирует никаких выходных данных.

Примечания

Командлет Start-Service также можно вызывать с помощью встроенного псевдонима "sasv". Дополнительные сведения см. в разделе About_Aliases.

Командлет Start-Service может использоваться для управления службами, только если у текущего пользователя есть на это разрешение. Некорректная работа команды может быть обусловлена отсутствием требуемых разрешений.

Чтобы извлечь имена служб и отображаемые имена служб на текущем компьютере, введите команду "Get-Service". Имена служб содержатся в столбце Name, а отображаемые имена — в столбце DisplayName.

Можно запускать только службы с типом запуска "Manual" или "Automatic". Нельзя запускать службы с типом запуска "Disabled". Если команда Start-Service завершается ошибкой с сообщением "Не удается запустить службу <имя службы> на компьютере", с помощью команды Get-WmiObject получите сведения о типе запуска данной службы и затем, если необходимо, измените его с помощью команды Set-Service.

Некоторые службы, такие как "Performance Logs and Alerts" (SysmonLog), останавливаются автоматически, если бездействуют. Когда Windows PowerShell запускает службу, которая практически сразу останавливается, отображается сообщение: "Ошибка при запуске службы "<отображаемое_имя>".

Пример 1

C:\PS>start-service -name eventlog

Описание
-----------
Эта команда запускает на локальном компьютере службу EventLog. Для задания службы с помощью ее имени используется параметр Name.






Пример 2

C:\PS>start-service -displayname *remote* -whatif

Описание
-----------
Эта команда выводит на экран сведения о том, что произойдет при запуске служб, отображаемые имена которых содержат строку "remote". Параметр DisplayName используется, чтобы указать службы по их отображаемым именам вместо имен служб. Параметр WhatIf используется, чтобы узнать, что произойдет при выполнении команды вместо ее фактического выполнения.






Пример 3

C:\PS>$s = get-service wmi

C:\PS>start-service -InputObject $s -passthru | format-list >> services.txt

Описание
-----------
Приведенные команды запускают на компьютере службу инструментария управления Windows (WMI), а также вносят соответствующую запись в файл services.txt. Первая команда с помощью командлета Get-Service получает объект, представляющий службу WMI, и сохраняет его в переменной $s. 

Вторая команда с помощью командлета Start-Service запускает службу WMI. Служба определяется с помощью параметра InputObject, через который переменная $s, содержащая объект службы WMI, передается командлету Start-Service. Затем с помощью параметра PassThru создается объект, представляющий запуск службы. Командлет Start-Service формирует выходные данные только при указании этого параметра.

Оператор конвейера (|) передает созданный командлетом Start-Service объект командлету Format-List, который выводит сведения об объекте в виде списка свойств. Оператор перенаправления с добавлением в конец файла	 (>>) перенаправляет выходные данные в файл services.txt и записывает их в конец этого файла.






Пример 4

C:\PS># start-service

Описание
-----------
Приведенная ниже последовательность команд показывает, как запустить службу, у которой тип запуска имеет значение "Disabled". Выполнение первой команды, в которой для запуска службы Telnet (tlntsvr) используется командлет Start-Service, завершается ошибкой.

C:\PS>start-service tlntsvr

Start-Service : Не удается запустить службу "Telnet (TlntSvr)" из-за следующей ошибки: Cannot start service TlntSvr on computer '.'.
В строке:1 знак:14
+ start-service  <<<< tlntsvr

Во второй команде используется командлет Get-WmiObject для получения службы Tlntsvr. Эта команда извлекает объект с типом запуска в поле "StartMode". Из результатов видно, что тип запуска службы Tlntsvr — "Disabled".

C:\PS> get-wmiobject win32_service | where-object {$_.Name -eq "tlntsvr"}

ExitCode  : 0
Name	: TlntSvr
ProcessId : 0
StartMode : Disabled
State	 : Stopped
Status	: OK

Следующая команда с помощью командлета Set-Service изменяет тип запуска службы Tlntsvr на "Manual".

C:\PS> set-service tlntsvr -startuptype manual

Теперь введем команду Start-Service повторно. В данном случае команда выполняется успешно.

C:\PS> start-service tlntsvr

Чтобы убедиться, что команда успешно выполнена, воспользуйтесь командой Get-Service.






См. также