Set service StartType to Automatic - Delayed

Using Set-Service, I'm able to change the StartType of my services between the accepted values of Boot, System, Automatic, Manual, Disabled. Using services.msc, I'm able to set some services to startup with a Priority of Automatic (Delayed Start). However, Get-Service still reports these delayed-start services as StartType : Automatic, and Set-Service errors out when attempting to set these values.

Am I able to set this property via powershell? Or am I limited to the UI or GPO?

8
задан 5 July 2018 в 11:05
4 ответа

Нет прямого пути в PowerShell, просто используйте sc

sc.exe config NameOfTheService start= delayed-auto 

в старых версиях Windows, вам нужен пробел после знака равенства, это больше не требуется, но это по-прежнему работает.

Вы также можете изменить ключи реестра:

HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\Start = 2
HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\DelayedAutostart = 1
8
ответ дан 2 December 2019 в 22:48

Нет простого способа сделать это с помощью командлетов PowerShell. На мой взгляд, проще всего использовать sc.exe. Вот один из способов сделать это:

$myArgs = 'config "{0}" start=delayed-auto' -f 'TheServiceName'
Start-Process -FilePath sc.exe -ArgumentList $myArgs
5
ответ дан 2 December 2019 в 22:48

PowerShell 6.0 добавила параметр StartType в значение Automatic - Delayed в командлете Set-Service

например: Set-Service -Name "Testservice" –StartupType "AutomaticDelayedStart"

https: / /docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/set-service?view=powershell-6

3
ответ дан 2 December 2019 в 22:48

Загвоздка в том, чтобы использовать "StartupType" вместо "StartType" при поиске "AutomaticDelayedStart", который появился в PowerShell 6.

После проб, ошибок и ошибок , это сработало для меня:

Get-Service | Where-Object {$_.StartupType -eq "AutomaticDelayedStart"} | Sort-Object status
2
ответ дан 12 June 2021 в 20:21

Теги

Похожие вопросы