所以我想查找服务器是否有共享驱动器,到目前为止我已经能够找到这个 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
您可以使用任何命令,包括在本地机器上使用的命令以及在远程机器上使用的命令:
此用例有内置的 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