Запускает остановленные службы.
Синтаксис
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.
См. также