Windows

如何在沒有管理員權限的情況下獲得遠端磁碟的可用空間?(視窗)

  • September 17, 2021

我是兩台伺服器(Win 2008 R2)的管理員。我有一個計劃任務,將大文件從一台伺服器上的共享複製到另一台伺服器。在進行複制之前,我會檢查另一台伺服器上的目標磁碟是否有足夠的可用空間。我一直在自己的帳戶下執行這些任務,並想更改為權限低於我的系統帳戶。

我一直在使用以下配方來獲得可用空間比率:

PowerShell.exe Get-WmiObject Win32_LogicalDisk -ComputerName <REMOTESERVER> -Filter "DeviceID='C:'" | Foreach-Object {$_.FreeSpace / $_.Size}

它適用於我的帳戶,但從非管理員帳戶給我 0x80070005 (E_ACCESS DENIED)。

我應該為此使用 WMI 還是有更簡單的方法?

您可以作為非管理員使用者使用 WMI 獲取可用磁碟空間,但您首先需要更改遠端伺服器上的 WMI 權限。

從遠端伺服器上的 wmimgmt.msc 中,然後右鍵點擊“WMI Control (Local)”,並選擇“安全”選項卡,然後突出顯示 CIMv2 並點擊“安全”按鈕。從這裡給使用者您希望能夠以“遠端啟用”權限執行腳本,並且腳本應該能夠獲取遠端 WMI 資訊。

您可以通過將驅動器映射到一個字母並使用 Get-PSDrive cmdlet 查詢它來獲取大小。無需在伺服器上進行管理員訪問,甚至無需對共享進行寫訪問即可工作。

net use T: \\server\share
$freebytes=(Get-PSDrive T).Free
net use T: /delete

引用自:https://serverfault.com/questions/707468