Setzen Sie den Dienst StartType auf Automatisch - Verzögert

11

Mit Set-Servicekann ich StartTypemeine Dienste zwischen den akzeptierten Werten von ändern Boot, System, Automatic, Manual, Disabled. Mit services.msckann ich einige Dienste so einstellen, dass sie mit einer Priorität von gestartet werden Automatic (Delayed Start). Allerdings Get-Servicemeldet noch diese verzögerten Start Dienstleistungen StartType : Automaticund Set-ServiceFehler aus , wenn versucht wird, diese Werte zu setzen.

Kann ich diese Eigenschaft über Powershell festlegen? Oder bin ich auf die Benutzeroberfläche oder das Gruppenrichtlinienobjekt beschränkt ?

Peter Vandivier
quelle

Antworten:

10

Kein direkter Weg in PowerShell, nur verwenden sc

sc.exe config NameOfTheService start= delayed-auto 

In älteren Windows-Versionen wurde nach dem Gleichheitszeichen ein Leerzeichen benötigt. Dies scheint nicht mehr erforderlich zu sein, funktioniert jedoch weiterhin.

Sie können auch die Registrierungsschlüssel ändern:

HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\Start = 2
HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\DelayedAutostart = 1
Peter Hahndorf
quelle
Das sc.exedirekte Aufrufen erleichtert das Weiterleiten des Ergebnisses für die spätere Verarbeitung. Diese Antwort brachte mich auf die Idee, die Registrierung direkt abzufragen, Get-ItemPropertyum festzustellen, ob der Dienst DelayedAutostart ist.
Peter Vandivier
6

Es gibt keine einfache Möglichkeit, Powershell-Cmdlets zu verwenden. Meiner Meinung nach ist es am einfachsten, sc.exe zu verwenden. Hier ist eine Möglichkeit, dies zu tun:

$myArgs = 'config "{0}" start=delayed-auto' -f 'TheServiceName'
Start-Process -FilePath sc.exe -ArgumentList $myArgs
EBGreen
quelle
Meine Version benötigt ein Leerzeichen nach dem Gleichheitszeichen
Michael Freidgeim