Chống phân mảnh từ xa PowerShell


1

Tôi có đoạn mã sau hoạt động tốt trên máy tính Windows 7 của mình:

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

Nhưng khi tôi đang cố chạy nó trên Windows Server 2003, không có gì chạy được.

Có ai có ý tưởng nào? Tôi đang chạy với tài khoản quản trị viên tên miền ...

EDIT: Tôi đã tìm thấy một tổ hợp mã bổ sung như sau, nhưng nó mang lại cho tôi "Mã lỗi 8" rõ ràng là "Defrag đã được tiến hành." - mà chắc chắn là không.

$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
    }
}

Bạn đã thử sử dụng psexec từ sysiternals chưa?
CN

Đầu tiên, Powershell và WinRM có được cài đặt trên máy chủ 2003 không? nó sẽ chạy cục bộ?
Logman

Powershell 4 trên Win2003?
Logman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.