Mit Powershell den Zielpfad diverser Verknüpfungen auslesen
Hallo Zusammen!
Ich suche eine Möglichkeit um folgende Aufgabe zu erledigen:
Ich möchte auf einem Rechner alle Verknüpfungen angezeigt bekommen,
die auf ein Netzlaufwerk verweisen.
Beispiel:
Es soll der Pfad "C:\" nach Verknüpfungen durchsucht werden, die auf ein angebundenes Netzlaufwerk "S:\Freigabename"
zeigt.
Ist dies mit der Powershell möglich? Leider habe ich bisher im ganzen Netz noch keinen Beitrag
mit einer ähnlichen Frage gefunden.
Hintergrund der ganzen Sache ist:
Ich möchte sämtliche Userhome-Ordner der Benutzer im Netzwerk nach den Verknüpfungen durchsuchen
und Diese dann im Anschluss löschen bzw. auf den Netzwerkpfad umschreiben,
da das Netzlaufwerk für alle User getrennt werden soll.
Das Laufwerk via "net use" löschen bringt allerdings nur einen kurzen Erfolg,
denn sobald eine Verknüpfung ausgeführt wird, deren Zielpfad auf das Netzlaufwerk zeigt,
bindet sich das Laufwerk erneut an.
Deshalb war meine einzige Idee die Verknüpfungen zu löschen.
Falls ich da falsch denke, lasse ich mich gerne eines Besseren belehren.
Ich danke Euch vielmals im Voraus!
Grüße Kraehahn
Ich suche eine Möglichkeit um folgende Aufgabe zu erledigen:
Ich möchte auf einem Rechner alle Verknüpfungen angezeigt bekommen,
die auf ein Netzlaufwerk verweisen.
Beispiel:
Es soll der Pfad "C:\" nach Verknüpfungen durchsucht werden, die auf ein angebundenes Netzlaufwerk "S:\Freigabename"
zeigt.
Ist dies mit der Powershell möglich? Leider habe ich bisher im ganzen Netz noch keinen Beitrag
mit einer ähnlichen Frage gefunden.
Hintergrund der ganzen Sache ist:
Ich möchte sämtliche Userhome-Ordner der Benutzer im Netzwerk nach den Verknüpfungen durchsuchen
und Diese dann im Anschluss löschen bzw. auf den Netzwerkpfad umschreiben,
da das Netzlaufwerk für alle User getrennt werden soll.
Das Laufwerk via "net use" löschen bringt allerdings nur einen kurzen Erfolg,
denn sobald eine Verknüpfung ausgeführt wird, deren Zielpfad auf das Netzlaufwerk zeigt,
bindet sich das Laufwerk erneut an.
Deshalb war meine einzige Idee die Verknüpfungen zu löschen.
Falls ich da falsch denke, lasse ich mich gerne eines Besseren belehren.
Ich danke Euch vielmals im Voraus!
Grüße Kraehahn
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 302825
Url: https://administrator.de/contentid/302825
Ausgedruckt am: 19.11.2024 um 17:11 Uhr
6 Kommentare
Neuester Kommentar
Moin,
kein Thema, schnell erledigt ...
Gruß jodel32
kein Thema, schnell erledigt ...
$shell = New-Object -COM "wscript.shell"
gci 'c:\Ordner' -Filter '*.lnk' -recurse -force | ?{!$_.PSIsContainer -and $shell.CreateShortCut($_.Fullname).TargetPath -like "S:\Freigabename*"} | Remove-Item -Force
ja, die habe ich. Es wird hier der Operator -Like verwendet der mit Wildcards arbeitet, wenn dein Zielpfad also nicht nur auf z:\ selbst zeigt sondern auf eine Datei musst du natürlich Wildcards hinzufügen !! Also 'z:\*'
Das Skript selber gibt nichts aus, das ist i.O. so. Willst du mehr Info kannst du auf die schnelle dem Löschbefehl hinten noch den -Verbose Parameter anhängen.
Das Skript selber gibt nichts aus, das ist i.O. so. Willst du mehr Info kannst du auf die schnelle dem Löschbefehl hinten noch den -Verbose Parameter anhängen.
Bidde