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


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 на локальном компьютере. Параметр имени определяет службу по имени службы.

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. Затем мы запустите службу. Без параметра PassThruStart-Service не создает выходные данные. Оператор конвейера (|) передает выходные данные объекта 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 изменяет тип запуска на вручную. Теперь мы можем повторно отправить команду 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:

  • Виндоус:
    • sasv

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

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