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