Powershell prüfen ob Pfad ein Netzwerkshare ist
Hallo allerseits,
kurze Frage an die Powershell-Cracks
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
kurze Frage an die Powershell-Cracks
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 629290
Url: https://administrator.de/contentid/629290
Ausgedruckt am: 22.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Zitat von @Tezzla:
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.> $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
$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 ...