Поделиться через


Start-Service

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

Синтаксис

Start-Service
     [-InputObject] <ServiceController[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-Name] <String[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-PassThru]
     -DisplayName <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Описание

Этот командлет доступен только на платформе Windows.

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

Примеры

Пример 1. Запуск службы с помощью его имени

В этом примере запускается служба EventLog на локальном компьютере. Параметр Name определяет службу по имени службы.

Start-Service -Name "eventlog"

Пример 2. Отображение сведений без запуска службы

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

Start-Service -DisplayName *remote* -WhatIf

Параметр DisplayName определяет службы по отображаемой имени вместо имени службы. Параметр WhatIf приводит к отображению командлета того, что произойдет при выполнении команды, но не вносит изменения.

Пример 3. Запуск службы и запись действия в текстовом файле

В этом примере запускается служба инструментария управления Windows (WMI) на компьютере и добавляет запись действия в файл services.txt.

$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt

Сначала мы используем Get-Service для получения объекта, представляющего службу WMI, и сохраняем ее в переменной $s . Затем мы запустите службу. Без параметра Start-Service PassThru не создает выходные данные. Оператор конвейера передает| выходные данные Start-Service Format-List объекта командлету, чтобы отформатировать объект в виде списка его свойств. Оператор перенаправления>> добавления () перенаправляет выходные данные в файл services.txt. Выходные данные добавляются в конец существующего файла.

Пример 4. Запуск отключенной службы

В этом примере показано, как запустить службу при отключенном типе запуска службы.

PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service  <<<< tlntsvr

PS> Get-CimInstance win32_service | Where-Object Name -eq "tlntsvr"
ExitCode  : 0
Name      : TlntSvr
ProcessId : 0
StartMode : Disabled
State     : Stopped
Status    : OK

PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr

Первая попытка запустить службу Telnet (tlntsvr) завершается ошибкой. Команда Get-CimInstance показывает, что свойство StartMode службы Tlntsvr отключено. Командлет Set-Service изменяет тип запуска на Manual. Теперь мы можем повторно отправить Start-Service команду. В этот раз команда будет успешно выполнена. Чтобы убедиться, что команда выполнена успешно, выполните команду Get-Service.

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DisplayName

Указывает отображаемые имена запускаемых служб. Можно использовать подстановочные знаки.

Тип:String[]
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-Exclude

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

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-Include

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

Тип:String[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:True

-InputObject

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

Тип:ServiceController[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Name

Указывает имена службы запускаемой службы.

Имя параметра является необязательным. Вы можете использовать имя или его псевдоним, ServiceName или вы можете опустить имя параметра.

Тип:String[]
Aliases:ServiceName
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PassThru

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

ServiceController

Объект службы можно передать в этот командлет.

String

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

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

None

По умолчанию этот командлет не возвращает выходные данные.

ServiceController

При использовании параметра PassThru этот командлет возвращает объект ServiceController , представляющий службу.

Примечания

PowerShell включает следующие псевдонимы для Start-Service:

  • Windows:
    • sasv

Этот командлет доступен только на платформах Windows.

  • Start-Service может управлять службами, только если у текущего пользователя есть разрешение на это. Если команда работает неправильно, возможно, у вас нет необходимых разрешений.
  • Чтобы найти имена служб и отображаемые имена в системе, введите Get-Service. Имена служб отображаются в столбце Name, а отображаемые имена — в столбце DisplayName.
  • Вы можете запускать только службы с типом запуска вручную, автоматического или автоматического (отложенного запуска). Вы не можете запустить службы с типом запуска "Отключено". Start-Service Если команда завершается ошибкой с сообщениемCannot start service \<service-name\> on computer, используйте Get-CimInstance для поиска начального типа службы и, если необходимо, используйте Set-Service командлет для изменения типа запуска службы.
  • Некоторые службы, такие как журналы производительности и оповещения (SysmonLog), останавливаются автоматически, если они не работают. Когда PowerShell запускает службу, которая останавливается почти сразу, отображается следующее сообщение: Service \<display-name\> start failed.