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 возвращаемый, не имеет метода удаления.