PowerShell 远程碎片整理

PowerShell 远程碎片整理

我有以下代码,可以在我的 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
    }
}

相关内容