Wie erhalten Sie mit Get-WmiObject den Laufwerksnamen oder das Laufwerkspfad?

Wie erhalten Sie mit Get-WmiObject den Laufwerksnamen oder das Laufwerkspfad?

Ich möchte also herausfinden, ob ein Server über ein freigegebenes Laufwerk verfügt. Bisher konnte ich diesen Powershell-Code finden.

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))}}

Dadurch erhalte ich nur den Buchstaben, also C: oder D:. Gibt es eine Möglichkeit, den Pfad so anzuzeigen, wie es Get-PSDrive auf einem lokalen PC tut?

Danke

Antwort1

Ich könnte mich irren, aber da Sie nach Freigabeinformationen suchen, wäre es dann nicht besser, den Befehl Win32_Share für WmiObject zu verwenden?

Get-WmiObject Win32_Share

Dadurch erhalten Sie den Freigabenamen und den Pfad. Wenn Sie weitere Details wie Speicherplatz und Größe benötigen, müssen Sie diese Informationen mit dem ersten Befehl abrufen.

Antwort2

Sie können beliebige Befehle, einschließlich derer, die Sie auf einem lokalen Computer verwenden, auf einem Remotecomputer verwenden, indem Sie Folgendes verwenden:

PowerShell-Remoting

Aufrufen von Remote-Befehlen

oder WMI.

Für diesen Anwendungsfall gibt es integrierte Cmdlets.

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 

verwandte Informationen