Windows サービスを Network Service アカウントで動かす PowerShell スクリプト

Windows サービスとして動くようにした ASP.NET Core アプリを、Network Service アカウントで動かすための PowerShell スクリプトを書いた。

$serviceName = "Windows サービス名"
$exePath = "Windows サービスとして動かす exeのパス"
$displayName = "表示名"
$description = "説明"

$password = ConvertTo-SecureString "dummy" -AsPlainText -Force 
$credential = New-Object System.Management.Automation.PSCredential ("NT AUTHORITY\NETWORK SERVICE", $password)

New-Service -Name $serviceName -BinaryPathName $exePath -DisplayName $displayName -Description $description -StartupType Automatic -Credential $credential

& sc.exe failure $serviceName reset= 86400 actions= restart/60000/restart/60000/restart/60000

Start-Service -Name $serviceName

おまけで、アンインストールも。

$serviceName = "Windows サービス名"

Stop-Service -Name $serviceName

& sc.exe delete $serviceName