mhard666
Goto Top

Powershell prüfen ob Pfad ein Netzwerkshare ist

Hallo allerseits,

kurze Frage an die Powershell-Cracks face-wink

Gibt es eine andere Möglichkeit einen Dateipfad dahingehend zu prüfen, ob er auf eine Lokale Ressource zeigt (z.B. C:\Temp) oder auf eine Netzwerkfreigabe (z.B. \\SERVER\temp) als den Pfad auf den Beginn (DoubleBackslash oder Buchstabe-Doppelpunkt) hin zu überprüfen?

...mit Powershell versteht sich...

Vielen Dank.

VG. mhard666

Content-Key: 629290

Url: https://administrator.de/contentid/629290

Printed on: April 18, 2024 at 17:04 o'clock

Member: Doskias
Doskias Dec 07, 2020 at 15:28:18 (UTC)
Goto Top
Sorry ich verstehe die Frage nicht ganz. Wenn du den Pfad hast, dann weißt du doch ob es c:\ oder \\Server\... ist. Oder meinst du die infos, die dir
get-psdrive
ausgibt?
Member: Tezzla
Solution Tezzla Dec 07, 2020 updated at 15:35:05 (UTC)
Goto Top
$Path = "\\u\n\c\path"  
$PathDetails = [System.Uri]$Path

if($PathDetails.IsUnc) {
    Write-Host Ich bin ein UNC Pfad
} else { 
    Write-Host Ich bin kein UNC Pfad
}

VG
Mitglied: 146707
Solution 146707 Dec 07, 2020 updated at 15:55:57 (UTC)
Goto Top
Zitat von @Tezzla:

> $Path = "\\u\n\c\path"  
> $PathDetails = [System.Uri]$Path
> 
> if($PathDetails.IsUnc) {
>     Write-Host Ich bin ein UNC Pfad
> } else { 
>     Write-Host Ich bin kein UNC Pfad
> }

VG
Das obige funktioniert aber nicht mit Pfaden die auf ein Netzlaufwerk gemappt wurden, dem hier ist das dagegen egal und es liefert egal was für ein Pfad-Typ es ist TRUE zurück wenn das Ziel eines Pfades remote liegt oder eben wenn nicht FALSE.
$pfad = 'z:\'  
Add-Type -MemberDefinition '[DllImport("Shlwapi.dll")][return: MarshalAs(UnmanagedType.Bool)]public static extern bool PathIsNetworkPath(String pszPath);' -Namespace Shlwapi -Name Path  
[Shlwapi.Path]::PathIsNetworkPath($pfad)

Doku zur Funktion hier nachzuschlagen
https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-pa ...
Member: mhard666
mhard666 Dec 08, 2020 at 06:14:51 (UTC)
Goto Top
Guten Morgen,

perfekt, das ist genau das was ich brauche.

VG. mhard666