web-dev-qa-db-ja.com

サービスのStartTypeを自動に設定-遅延

Set-Service を使用すると、サービスのStartTypeBoot, System, Automatic, Manual, Disabledの許容値の間で変更できます。 services.mscを使用すると、いくつかのサービスをPriorityで起動するように設定できます Automatic (Delayed Start)。ただし、Get-Serviceは引き続きこれらの遅延開始サービスをStartType : Automaticとして報告し、これらの値を設定しようとするとSet-Serviceエラーが出力されます。

PowerShellを介してこのプロパティを設定できますか?それとも、UI またはGPO に制限されていますか?

10
Peter Vandivier

PowerShell 6.0では、オプションStartTypeが自動に追加されました-Set-Serviceコマンドレットで遅延

例:Set-Service -Name "Testservice" –StartupType "AutomaticDelayedStart"

https://docs.Microsoft.com/en-us/powershell/module/Microsoft.powershell.management/set-service?view=powershell-6

5
Arun

PowerShellでは直接の方法はなく、scを使用するだけです

sc.exe config NameOfTheService start= delayed-auto 

古いバージョンのWindowsでは、等号の後にスペースが必要でした。これはもう必要ないようですが、まだ機能します。

レジストリキーを変更することもできます。

HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\Start = 2
HKLM\SYSTEM\CurrentControlSet\Services\NameOfTheService\DelayedAutostart = 1
9
Peter Hahndorf

Powershellコマンドレットを使用してそれを行う簡単な方法はありません。私の意見では、最も簡単な方法はsc.exeを使用することです。これを行う1つの方法を次に示します。

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