我有一个如下的 PowerShell 脚本:
$ListOfServers = "Server1", "Server2"
$RunDefrag =
{
param($Server)
$Volume = Get-WmiObject -Class Win32_Volume -ComputerName $Server -Filter "DriveLetter = 'c:'"
$Result = $Volume.Defrag($False)
if ($Result.ReturnValue -eq 0)
{ Write-Host "Defrag on $Server successful." }
else
{ Write-Host "Defrag failed. Result code: " $Result.ReturnValue }
}
$ListOfServers | ForEach {Start-Job -ScriptBlock $RunDefrag -ArgumentList $_}
当从我的机器(具有管理权限)手动执行 PowerShell 脚本时,它运行良好。
我的问题在于当我尝试将任务设置为计划任务时。以下是我的基本设置:
Actions: Start a program.
Details: powershell "& \"C:\PowerShell Scripts\Defrag.ps1"
我尝试了各种任务细节设置,但都不起作用。任务运行,但碎片整理未在服务器上启动。
如果有人有任何想法,我将不胜感激。