当我在PowerShell函数下运行以从PowerShell窗口停止服务时,它运行正常。 但是当我安排相同的功能并从任务调度程序运行它时,它并没有停止服务,并且事件查看器中也没有捕获事件。
#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
}
任务计划程序详细信息:
答案 0 :(得分:0)
从.ps1文件中删除(或)注释函数FunctionName后,它正常工作。现在我能够从任务调度程序运行它而没有任何问题。
#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
# }