如何使用 Get-WmiObject 取得磁碟機磁碟區名稱或路徑磁碟機?

如何使用 Get-WmiObject 取得磁碟機磁碟區名稱或路徑磁碟機?

所以我正在尋找伺服器是否有共用驅動器,到目前為止我已經能夠找到這個 Powershell 編碼。

Get-WmiObject Win32_LogicalDisk -ComputerName Zetafax -Filter DriveType=3 | Select-Object DeviceID, @{'Name'='Size (GB)'; 'Expression'={[string]::Format('{0:N0}',[math]::truncate($_.size / 1GB))}}, @{'Name'='Freespace (GB)'; 'Expression'={[string]::Format('{0:N0}',[math]::truncate($_.freespace / 1GB))}}

這只會給我一個字母,即 C: 或 D:,有沒有辦法讓它以 Get-PSDrive 在本機上的方式顯示路徑?

謝謝

答案1

我可能是錯的,但既然您正在尋找共享信息,那麼使用 WmiObject 的 Win32_Share 命令不是更好嗎?

Get-WmiObject Win32_Share

這將為您提供共享名和路徑。如果您需要更多詳細資訊(例如空間和大小),則需要使用第一個命令來取得該資訊。

答案2

您可以使用任何命令,包括在遠端電腦上使用的本機電腦上使用的命令:

PowerShell 遠端處理

呼叫遠端命令

或WMI

有針對此用例的內建 cmdlet。

Get-Command -Name '*smbshare*' | 
Format-Table -AutoSize

CommandType Name                   Version Source  
----------- ----                   ------- ------  
Function    Block-SmbShareAccess   2.0.0.0 SmbShare
Function    Get-SmbShare           2.0.0.0 SmbShare
Function    Get-SmbShareAccess     2.0.0.0 SmbShare
Function    Grant-SmbShareAccess   2.0.0.0 SmbShare
Function    New-SmbShare           2.0.0.0 SmbShare
Function    Remove-SmbShare        2.0.0.0 SmbShare
Function    Revoke-SmbShareAccess  2.0.0.0 SmbShare
Function    Set-SmbShare           2.0.0.0 SmbShare
Function    Unblock-SmbShareAccess 2.0.0.0 SmbShare


# get function / cmdlet details
(Get-Command -Name Get-SmbShare).Parameters
Get-help -Name Get-SmbShare -Full
Get-help -Name Get-SmbShare -Online
Get-help -Name Get-SmbShare -Examples


Get-SmbShare

Name   ScopeName Path       Description  
----   --------- ----       -----------  
ADMIN$ *         C:\Windows Remote Admin 
C$     *         C:\        Default share
D$     *         D:\        Default share
E$     *         E:\        Default share
F$     *         F:\        Default share
IPC$   *                    Remote IPC 

相關內容