Définissez StartType de service sur Automatique - Retardé

11

En utilisant Set-Service, je peux changer la valeur StartTypede mes services entre les valeurs acceptées de Boot, System, Automatic, Manual, Disabled. À l'aide services.msc, je suis en mesure de définir certains services au démarrage avec une priorité de Automatic (Delayed Start). Cependant, des Get-Servicerapports encore ces services de démarrage retardée StartType : Automaticet les Set-Serviceerreurs dues lors d'une tentative de définir ces valeurs.

Puis-je définir cette propriété via PowerShell? Ou suis-je limité à l'interface utilisateur ou au GPO ?

Peter Vandivier
la source

Réponses:

10

Pas de moyen direct dans PowerShell, utilisez simplement sc

sc.exe config NameOfTheService start= delayed-auto 

dans les anciennes versions de Windows, vous aviez besoin d'un espace après le signe égal, cela ne semble plus être nécessaire mais cela fonctionne toujours.

Vous pouvez également modifier les clés de registre:

HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\Start = 2
HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\DelayedAutostart = 1
Peter Hahndorf
la source
appeler sc.exedirectement facilite la transmission du résultat pour une manipulation ultérieure. ainsi - cette réponse m'a donné l'idée de simplement interroger le registre directement Get-ItemPropertypour déterminer si le service est DelayedAutostart.
Peter Vandivier
6

Il n'y a pas de moyen simple de le faire à l'aide des applets de commande PowerShell. À mon avis, le moyen le plus simple consiste à utiliser sc.exe. Voici une façon de procéder:

$myArgs = 'config "{0}" start=delayed-auto' -f 'TheServiceName'
Start-Process -FilePath sc.exe -ArgumentList $myArgs
EBGreen
la source
Ma version nécessite un espace après le signe égal
Michael Freidgeim