Defina o serviço StartType como Automático - Atrasado

11

Usando Set-Service, sou capaz de alterar StartTypemeus serviços entre os valores aceitos de Boot, System, Automatic, Manual, Disabled. Usando services.msc, eu sou capaz de definir alguns serviços para iniciar com uma prioridade de Automatic (Delayed Start). No entanto, Get-Serviceainda relata esses serviços de inicialização atrasada como StartType : Automatice Set-Serviceerros ao tentar definir esses valores.

Posso definir essa propriedade via PowerShell? Ou estou limitado à interface do usuário ou ao GPO ?

Peter Vandivier
fonte

Respostas:

10

Não há maneira direta no PowerShell, basta usar sc

sc.exe config NameOfTheService start= delayed-auto 

nas versões mais antigas do Windows, você precisava de um espaço após o sinal de igual, isso parece não ser mais necessário, mas ainda funciona.

Você também pode alterar as chaves do registro:

HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\Start = 2
HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\DelayedAutostart = 1
Peter Hahndorf
fonte
chamar sc.exediretamente facilita a canalização do resultado para manipulação posterior. também - essa resposta me deu a ideia de apenas consultar diretamente o registro Get-ItemPropertypara determinar se o serviço é DelayedAutostart.
Peter Vandivier
6

Não há uma maneira simples de fazer isso usando os cmdlets do powershell. Na minha opinião, a maneira mais fácil é usar o sc.exe. Aqui está uma maneira de fazer isso:

$myArgs = 'config "{0}" start=delayed-auto' -f 'TheServiceName'
Start-Process -FilePath sc.exe -ArgumentList $myArgs
EBGreen
fonte
Minha versão requerem um espaço após o sinal de igual
Michael Freidgeim