Назад | Перейти на главную страницу

Запуск задачи дефрагментации на серверах

У меня есть сценарий 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"

Я поигрался с различными настройками деталей задачи, но у меня ничего не работает. Задача выполняется, но дефрагментация на серверах не запускается.

Если у кого-то есть идеи, буду благодарен.