我有我的第一個小專案,我剛剛開始了一個 PowerShell(完全是初學者)。
我們有三個不同的共享 C:\ 驅動器,我需要使用 Powershell 腳本輸出每個磁盤存盤資訊(例如總空間和可用空間)。
這是我制作的腳本,但這三個結果都是相同的,即使它們的可用空間和總數不同。
誰能告訴我我的ps腳本有什么問題?
另外,在結果中,我不想顯示任何其他驅動器(例如 D 和 E),而只顯示 C 驅動器。怎么做?
[腳本]
Set-Location -Path \\vm1\c$
Get-WmiObject -Class win32_logicaldisk | Format-Table DeviceId, @{n='Size'; e={[math]::Round($_.Size/1GB, 2)}}, @{n="FreeSpace"; e={[math]::Round($_.FreeSpace/1GB, 2)}}
Set-Location -Path \\vm2\c$
Get-WmiObject -Class win32_logicaldisk | Format-Table DeviceId, @{n='Size'; e={[math]::Round($_.Size/1GB, 2)}}, @{n="FreeSpace"; e={[math]::Round($_.FreeSpace/1GB, 2)}}
Set-Location -Path \\vm3\c$
Get-WmiObject -Class win32_logicaldisk | Format-Table DeviceId, @{n='Size'; e={[math]::Round($_.Size/1GB, 2)}}, @{n="FreeSpace"; e={[math]::Round($_.FreeSpace/1GB, 2)}}
[結果]
DeviceId Size FreeSpace
-------- ---- ---------
C: 473.95 114.22
D: 0 0
E: 0 0
DeviceId Size FreeSpace
-------- ---- ---------
C: 473.95 114.22
D: 0 0
E: 0 0
DeviceId Size FreeSpace
-------- ---- ---------
C: 473.95 114.22
D: 0 0
E: 0 0
uj5u.com熱心網友回復:
將 location 設定為 UNC Path 并不意味著您實際上是在查詢該win32_logicaldisk
遠程主機的,您需要使用-ComputerName
Parameter來查詢遠程主機資訊。另外值得注意的是,您應該開始使用Get-CimInstance
而不是Get-WmiObject
(在較新版本的 PowerShell 中不再可用)。
至于僅顯示C
驅動器,您可以使用-Filter
. 我還添加PSComputerName
了您Format-Table
回傳的屬性,以便您知道輸出屬于哪個主機。
$vms = 'vm1', 'vm2', 'vm3'
Get-CimInstance -Class win32_logicaldisk -Filter "DeviceID='C:'" -ComputerName $vms |
Format-Table @(
'PSComputerName'
'DeviceId'
@{ N='Size'; E={ [math]::Round($_.Size/1GB, 2) }}
@{ N='FreeSpace'; E={ [math]::Round($_.FreeSpace/1GB, 2) }}
)
uj5u.com熱心網友回復:
Set-Location
-Path \vm1\c$ 不能以這種方式作業。它為當前的 powershell 會話設定檔案系統上的默認位置,但不影響 get-wmiobject。要查詢遠程計算機,您必須使用引數-computername
。
您應該使用 cim cmdlet,因為它們替換了 wmi-object cmdlet。該引數-computername
支持陣列作為輸入,因此您只需要呼叫一次 get-wmiobject/get-ciminstance ,如果您只想了解 C:\ 驅動器,您可以查詢它:
$computers = @('vmName1','vmName2','nmName3')
Get-CimInstance -ComputerName $computers -Query "select freeSpace from win32_loogicaldoisk where deviceId='C:'" | select-object pscomputername,deviceid,freeSpace
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/530764.html
標籤:电源外壳磁盘空间