0
PowerShellウィンドウのサービスを停止するためにPowerShell関数の下を実行すると正常に動作しています。 しかし、同じ機能をスケジュールしてタスクスケジューラから実行すると、サービスが停止せず、イベントビューアにもイベントがキャプチャされません。タスクスケジューラから.ps1関数を実行すると正しい結果が得られません。
#Function to stop the service
function StopService {
[cmdletbinding()]
Param(
[Parameter(Position=0, Mandatory=$True, HelpMessage="ServiceName")]
[string]$ServiceName,
[Parameter(Position=1, Mandatory=$True, HelpMessage="ComputerName")]
[string]$ComputerName
)
Invoke-Command -ComputerName $ComputerName -ScriptBlock {
Param($Service)
Stop-Service $Service
} -ArgumentList $ServiceName
}
タスクスケジューラの詳細:
スクリプトは関数を定義するだけで、実際には実行されません。実行するスクリプトの最後の行に 'StopService $ args [0] $ args [1]'を入れてください –
@ MathiasR.Jessenが指摘するように、あなたのスクリプトファイルは 'StopService'という関数を定義していますが、 。 –