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 ?

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

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

Meine Version benötigt ein Leerzeichen nach dem Gleichheitszeichen
Michael Freidgeim
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.