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


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>]

Описание

Командлет 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-ServicePassThru не создает выходные данные. Оператор конвейера (|) передает выходные данные 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 имеет значение Disabled. Командлет Set-Service изменяет тип запуска на Manual. Теперь можно повторно отправить Start-Service команду . В этот раз команда будет успешно выполнена. Чтобы убедиться, что команда выполнена успешно, выполните команду Get-Service.

Параметры

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

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

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

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

Type:ServiceController[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

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

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

System.ServiceProcess.ServiceController, System.String

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

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

None, System.ServiceProcess.ServiceController

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

Примечания

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

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