如何使用 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 

相关内容