Frage

Ich muss wissen, von innen Powershell, wenn das aktuelle Laufwerk ein zugeordnetes Laufwerk ist oder nicht.

Leider Get-PSDrive nicht funktioniert "wie erwartet":

PS:24 H:\temp
>get-psdrive  h

Name       Provider      Root      CurrentLocation
----       --------      ----      ---------------
H          FileSystem    H:\          temp

aber in MS-Dos "net use" zeigt, dass H: ist wirklich ein Netzlaufwerk:

New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
OK           H:        \\spma1fp1\JARAVJ$        Microsoft Windows Network

The command completed successfully.

Was ich tun möchte, ist die Wurzel des Laufwerks zu bekommen und es in der Eingabeaufforderung zeigen (siehe: Anpassen von Powershell-Eingabeaufforderung - Entspricht P $ CMD $ M $ _ $ + $ G )

War es hilfreich?

Lösung

Mit dem .NET-Framework:

PS H:\> $x = new-object system.io.driveinfo("h:\")
PS H:\> $x.drivetype
Network

Andere Tipps

Versuchen Sie WMI:

Get-WMI -query "Select ProviderName From Win32_LogicalDisk Where DeviceID='H:'"

Eine alternative Möglichkeit, WMI zu verwenden:

get-wmiobject Win32_LogicalDisk | ? {$_.deviceid -eq "s:"} | % {$_.providername}

Erhalten Sie alle Netzwerk-Laufwerke mit:

get-wmiobject Win32_LogicalDisk | ? {$_.drivetype -eq 4} | % {$_.providername}

Eine etwas kompaktere Variante der akzeptierten Antwort:

[System.IO.DriveInfo]("C")

Nehmen Sie diesen einen Schritt weiter, wie unten dargestellt:

([System.IO.DriveInfo]("C")).Drivetype

Beachten Sie das funktioniert nur für die lokale System. Verwenden Sie WMI für Remote-Computer.

Der zuverlässigste Weg ist WMI verwenden

get-wmiobject win32_volume | ? { $_.DriveType -eq 4 } | % { get-psdrive $_.DriveLetter[0] } 

Die Drivetype ist ein Enum Witz hthe folgende Werte

0 - Unbekannt 1 - keine Root Directory 2 - Wechseldatenträger 3 - Lokaler Datenträger 4 - Network Drive 5 - Compact Disk 6 - RAM Disk

Hier ist ein Link zu einem Blog-Post Ich habe zum Thema

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top