У меня есть следующий код, который отлично работает на моем компьютере с 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
}
}