将服务StartType设置为Automatic-Delayed


11

使用Set-Service,我可以StartType在的接受值之间更改我的服务Boot, System, Automatic, Manual, Disabled。使用services.msc,我可以将一些服务设置为优先级为Automatic (Delayed Start)。但是,Get-Service这些延迟启动服务仍报告为StartType : Automatic,并且Set-Service在尝试设置这些值时会出错。

我可以通过Powershell设置此属性吗?还是我仅限于UI 或GPO

Answers:



10

在PowerShell中没有直接方法,只能使用 sc

sc.exe config NameOfTheService start= delayed-auto 

在较旧版本的Windows中,等号后需要一个空格,这似乎不再是必需的,但它仍然有效。

您还可以更改注册表项:

HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\Start = 2
HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\DelayedAutostart = 1

sc.exe直接调用可以很容易地将结果传递给以后的处理。以及-这个答案让我想到了直接查询注册表Get-ItemProperty以确定服务是否为DelayedAutostart的想法。
彼得·范迪维尔

6

没有使用Powershell cmdlet做到这一点的简单方法。我认为最简单的方法是使用sc.exe。这是一种方法:

$myArgs = 'config "{0}" start=delayed-auto' -f 'TheServiceName'
Start-Process -FilePath sc.exe -ArgumentList $myArgs

我的版本需要在等号后面输入一个空格
迈克尔Freidgeim
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.