複数のサービスを停止し、サービスが正しく停止しているかどうかを確認してから、複数のバッチファイルを実行してください。バッチジョブが完了したら、最初に停止したサービスを再開してください。私は次のスクリプトを開始しましたが、さらに進むことはできませんでした。サービスを停止し、バッチファイルを実行してからサービスを開始する
#Define Services
$service1 = 'StiSvc'
$service2 = 'AdobeARMservice'
$services = @(
$service1,
$service2
)
#Stop Services
Get-Service |
Where { $services -contains $_.Name } |
Foreach {
$_ | Stop-Service
}
#Verify Services
Get-Service |
Where { $services -contains $_.Name } |
Foreach {
if ((Get-Service $_.Name).Status -eq "stopped") {
Write-Host 'Service Stop Pass (0)'
} else {
Write-Host 'Service Stop Failed (1000)';
exit '1000'
}
}
#Start batch
if ($services.Status -eq "Stopped") {
Start-Process "cmd.exe" "/c C:\download\hello.bat"
} else {
Start-Sleep -s 10
}
実際の質問は何ですか? – Sean
あなたの質問は何ですか?期待どおりに動作しないのは何ですか?あなたは "それ以上に行くことができませんでした" ... *どのように?* –
期待通りに動作しません。サービスは停止しますが、バッチファイルは起動していません。 – FrenchITGuy