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


New-Service

Создает новую службу Windows.

Синтаксис

Default (По умолчанию)

New-Service
    [-Name] <String>
    [-BinaryPathName] <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-StartupType <ServiceStartMode>]
    [-Credential <PSCredential>]
    [-DependsOn <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Описание

Командлет New-Service создает новую запись для службы Windows в реестре и в базе данных службы. Для новой службы требуется исполняемый файл, который выполняется во время службы.

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

Примеры

Пример 1. Создание службы

New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'

Эта команда создает службу с именем TestService.

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

$params = @{
  Name = "TestService"
  BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
  DependsOn = "NetLogon"
  DisplayName = "Test Service"
  StartupType = "Manual"
  Description = "This is a test service."
}
New-Service @params

Эта команда создает службу с именем TestService. Он использует параметры New-Service для указания описания, типа запуска и отображаемого имени для новой службы.

Пример 3. Просмотр новой службы

Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode  : 0
Name      : testservice
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

Эта команда использует Get-CimInstance для получения объекта Win32_Service для новой службы. Этот объект включает режим запуска и описание службы.

Пример 4. Удаление службы

sc.exe delete TestService
# - or -
(Get-CimInstance -Class Win32_Service -Filter "name='TestService'").Delete()

В этом примере показаны два способа удаления службы TestService. Первая команда использует параметр Sc.exeудаления . Вторая команда использует метод Delete объектов Win32_Service , возвращаемых Get-CimInstance .

Параметры

-BinaryPathName

Указывает путь исполняемого файла для службы. Этот параметр является обязательным.

Полный путь к двоичному файлу службы. Если путь содержит пробел, он должен быть процитирован таким образом, чтобы он правильно интерпретировался. Например, D:\my share\myservice.exe следует указать как '"D:\my share\myservice.exe"'.

Путь также может включать аргументы для службы автозапуска. Например: '"D:\my share\myservice.exe" arg1 arg2'. Эти аргументы передаются в точку входа службы.

Дополнительные сведения см. в параметре lpBinaryPathName API CreateServiceW.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Credential

Указывает учетную запись, используемую службой в качестве учетной записи входа в службу.

Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, например один, созданный командлетом Get-Credential. При вводе имени пользователя этот командлет запрашивает пароль.

Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.

Замечание

Дополнительные сведения о защите данных SecureString см. в разделе Как безопасно SecureString?.

Свойства параметров

Тип:PSCredential
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DependsOn

Указывает имена других служб, от которых зависит новая служба. Чтобы ввести несколько имен служб, используйте запятую для разделения имен.

Свойства параметров

Тип:

String[]

Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Description

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-DisplayName

Указывает отображаемое имя службы.

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Name

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

Свойства параметров

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:Название сервиса

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-StartupType

Задает тип запуска службы. Допустимые значения для этого параметра:

  • автоматическое — служба запускается или была запущена операционной системой при запуске системы. Если служба автоматического запуска зависит от службы, запущенной вручную, служба вручную запускается автоматически при запуске системы.
  • Отключено — службу нельзя запустить ни пользователем, ни приложением.
  • Вручную. Служба запускается только вручную пользователем, через Менеджер управления службами, или с помощью приложения.
  • загрузки. Указывает, что служба является драйвером устройства, запущенным системным загрузчиком. Это значение допустимо только для драйверов устройств.
  • System — указывает, что служба является драйвером устройства, запущенным функцией IOInitSystem(). Это значение допустимо только для драйверов устройств.

Значение по умолчанию — автоматические.

Свойства параметров

Тип:ServiceStartMode
Default value:Automatic
Допустимые значения:Boot, System, Automatic, Manual, Disabled
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

None

Невозможно передать объекты в этот командлет.

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

ServiceController

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

Примечания

Чтобы запустить этот командлет, запустите PowerShell с помощью параметра Запуск от имени администратора.

Чтобы удалить службу, используйте Sc.exeили используйте Get-CimInstance командлет для получения объекта Win32_Service , представляющего службу, а затем используйте метод Delete для удаления службы. Объект, Get-Service возвращаемый, не имеет метода удаления.