簡體   English   中英

PowerShell Get-WmiObject WIN32_VOLUME WHERE子句

[英]PowerShell Get-WmiObject WIN32_VOLUME WHERE clause

這是我的問題。 我想要實現的是僅顯示驅動器類型為3(即HardDrives)但實際上具有driveletter的信息:

GET-WMIOBJECT WIN32_VOLUME | where { $_.drivetype -eq '3'}| select-object freespace, capacity, drivetype, driveletter

目前正在顯示:

                freespace                      capacity                     drivetype driveletter
                ---------                      --------                     --------- -----------
                273465344                     314568704                             3
              58966519808                  128522907648                             3 C:

所以我不想的第一行。 我嘗試添加:

where { $_.drivetype -eq '3' and $_.driveletter -ne null } and where { $_.drivetype -eq '3'} and {$_.driveletter -ne null }

要過濾掉沒有驅動器號的卷,請在Where-Object內將DriveLetter屬性視為一個布爾值( $null和空字符串都解釋為$false )。

確保使用-and代替and (注意破折號):

Get-WmiObject Win32_Volume |Where { $_.drivetype -eq '3' -and $_.driveletter} |Select-Object freespace,capacity,drivetype,driveletter |Format-Table -HideTableHeaders

(起初我完全誤解了您的問題,這是原始答案)

輸出是通過Format-Table隱式傳遞Format-Table ,該Format-Table會生成您在輸出中看到的表頭。

您可以使用-HideTableHeaders開關參數自己調用Format-Table以將其從輸出中-HideTableHeaders

Get-WmiObject Win32_Volume |Where { $_.drivetype -eq '3'} |Select-Object freespace,capacity,drivetype,driveletter |Format-Table -HideTableHeaders

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM