1

У меня есть следующий код, который отлично работает на моем компьютере с Windows 7:

$Defrag = Get-WmiObject Win32_Volume -Filter "DriveLetter='c:'" -ComputerName "SRLVHOMAPP01" | 
Invoke-WmiMethod -Name Defrag

Но когда я пытаюсь запустить это на Windows Server 2003, ничего не запускается.

У кого-нибудь есть идеи? Я работаю с учетной записью администратора домена ...

РЕДАКТИРОВАТЬ: я обнаружил дополнительную комбинацию кода следующим образом, но он возвращает мне "код ошибки 8", который, по-видимому, "дефрагментация уже выполняется". - что это точно не так.

$Servers = "CSEPULTAPU01"

ForEach ($Server in $Servers)
{
    $vol = Get-WmiObject -Class Win32_Volume -ComputerName $Server -Filter "DriveLetter = 'c:'"
    $res = $vol.Defrag($false)

    if ($res.ReturnValue -eq 0)
    {
        Write-Host "Defrag succeeded."
    }
    else 
    {
        Write-Host "Defrag failed Result code: " $res.ReturnValue
    }
}

0