Поиск по сайту:

Start-Service (Microsoft.PowerShell.Management)


Start-Service

Модуль:
Microsoft.PowerShell.Management

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

Синтаксис

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: Отображение информации без запуска службы

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

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. Далее запускаем сервис. Без параметра PassThru Start-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

Псевдонимы:

cf

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-DisplayName

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

Тип :

String[]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

True

-Exclude

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

Тип :

String[]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

True

-Include

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

Тип :

String[]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

True

-InputObject

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

Тип :

Сервисконтроллер[]

Позиция:

0

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-Name

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

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

Тип :

String[]

Псевдонимы:

ServiceName

Позиция:

0

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-PassThru

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

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-WhatIf

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

Тип :

SwitchParameter

Псевдонимы:

wi

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

Сервисконтроллер

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

Строка

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

Выходы

Нет

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

Сервисконтроллер

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

Примечания

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

  • Windows:

      sasv

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

  • Start-Service может управлять службами, только если текущий пользователь имеет на это разрешение. Если команда работает неправильно, возможно, у вас нет необходимых разрешений.
  • Чтобы найти имена служб и отображаемые имена служб в вашей системе, введите Get-Service. Имена служб отображаются в столбце Имя, а отображаемые имена — в столбце DisplayName.
  • Вы можете запускать только те службы, которые имеют тип запуска «Вручную», «Автоматически» или «Автоматически (отложенный запуск). Вы не можете запустить службы, имеющие тип запуска «Отключено». Если команда Start-Service завершается с ошибкой и появляется сообщение Невозможно запустить службу \ на компьютере, используйте Get-CimInstance, чтобы найти тип запуска службы и, если необходимо, используйте командлет Set-Service, чтобы изменить тип запуска службы.
  • Некоторые службы, такие как журналы производительности и оповещения (SysmonLog), автоматически останавливаются, если им нечего делать. Когда PowerShell запускает службу, которая почти сразу же останавливается, отображается следующее сообщение: Служба \ не удалась.