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-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 имеет значение 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.