New-Service
Создает новую службу Windows.
Синтаксис
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Командлет 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. Установка средства securityDescriptor службы при создании.
В этом примере добавляется средство SecurityDescriptor создаваемой службы.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
$params = @{
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
SecurityDescriptorSddl = $SDDL
}
New-Service @params
SecurityDescriptor хранится в переменной$SDDLToSet
. Параметр SecurityDescriptorSddl используется $SDDL
для задания securityDescriptor новой службы.
Параметры
-BinaryPathName
Указывает путь исполняемого файла для службы. Этот параметр является обязательным.
Полный путь к двоичному файлу службы. Если путь содержит пробел, он должен быть процитирован таким образом, чтобы он правильно интерпретировался. Например, d:\my share\myservice.exe
следует указать как '"d:\my share\myservice.exe"'
.
Путь также может включать аргументы для службы автозапуска. Например, '"d:\my share\myservice.exe" arg1 arg2'
. Эти аргументы передаются в точку входа службы.
Дополнительные сведения см. в параметре lpBinaryPathName API CreateServiceW.
Тип: | String |
Aliases: | Path |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Указывает учетную запись, используемую службой в качестве учетной записи входа в службу.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, например объект, созданный командлетомGet-Credential
. При вводе имени пользователя этот командлет запрашивает пароль.
Учетные данные хранятся в объекте PSCredential , а пароль хранится как SecureString.
Примечание.
Дополнительные сведения о защите данных SecureString см. в разделе "Как безопасна Защита SecureString?".
Тип: | PSCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DependsOn
Задает имена других служб, от которых зависит новая служба. Чтобы ввести несколько имен служб, разделите их запятой.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Description
Указывает описание службы.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DisplayName
Указывает отображаемое имя службы.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Name
Указывает имя службы. Этот параметр является обязательным.
Тип: | String |
Aliases: | ServiceName |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SecurityDescriptorSddl
Указывает securityDescriptor для службы в формате Sddl .
Тип: | String |
Aliases: | sd |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-StartupType
Задает тип запуска службы. Допустимые значения для этого параметра:
- Автоматически — служба запущена или запущена операционной системой при запуске системы. Если служба, запускаемая автоматически, зависит от службы, запускаемой вручную, последняя также активируется автоматически при запуске системы.
- AutomaticDelayedStart — начинается вскоре после загрузки системы.
- Отключен . Служба отключена и не может быть запущена пользователем или приложением.
- InvalidValue — это значение не поддерживается. Использование этого значения приводит к ошибке.
- Вручную . Служба запускается только вручную, пользователем, с помощью диспетчера управления службами или приложением.
Значение по умолчанию — "Автоматически".
Тип: | ServiceStartupType |
Допустимые значения: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
Position: | Named |
Default value: | Automatic |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объект, представляющий новую службу.
Примечания
Этот командлет доступен только на платформах Windows.
Чтобы запустить этот командлет, запустите PowerShell с помощью параметра "Запуск от имени администратора ".
Связанные ссылки
PowerShell