所以我正在尋找伺服器是否有共用驅動器,到目前為止我已經能夠找到這個 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
您可以使用任何命令,包括在遠端電腦上使用的本機電腦上使用的命令:
或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