Verknüpfung editieren

Alle Fragen rund um die ACMP Client Commands
Antworten
kratz
Beiträge: 33
Registriert: Di Sep 02, 2008 8:40 am

Hallo zusammen,
ich stehe vor folgendem Problem:

Es gibt ja bereits die Befehle "Create Shortcut / Delete Shortcut", was ich aber bräuchte wäre "Edit Shortcut".

Konkret geht es um eine Verknüpfung zu einer exe die auf einer Serverfreigabe liegt. Diese wird demnächst auf einen anderen Server umgezogen.

D.h. momentan habe ich auf vielen Clients z.B. die Verknüpfung "PROGRAMM1" auf dem Desktop liegen, die als Ziel \\SERVER1\Programm1.exe hat.

Leider kann ich mich nicht darauf verlassen dass die Verknüpfung immer denselben Namen hat (sonst könnte ich sie einfach löschen und neu anlegen).

Ich suche also eine Möglichkeit die Eigenschaften einer .lnk Datei auszulesen (mit Iterate Files) und wenn eine Verknüpfung existiert die als Ziel \\SERVER1\Programm1.exe hat die Verknüpfung zu editieren, und zwar die Zeile "Ziel" und "Ausführen in".

Hat dieses Problem schonmal jemand gehabt und kann mir helfen?

Danke vorab.

MfG
M. Kratz
hschriek
Beiträge: 136
Registriert: Do Dez 29, 2005 6:09 pm

Guten Morgen!
So eine Suche nach Verknüpfungen sollte man z.B. mit einer WMI Query erledigen können.

Dazu eine Abfrage

Code: Alles auswählen

SELECT * FROM Win32_ShortcutFile
WHERE (Drive = "c:") AND (Name LIKE "c:\\users\\hschriek\\Desktop\\%") AND (Target = "\\\\1-denas01\\acmpbuilds")
Wichtig dabei, dass man statt einem "\" immer zwei "\\" tippt

Noch wichtiger dabei ist, dass Sie die Suche irgendwie einschränken. Lässt man das WHERE ... weg oder schränkt es unzureichend ein, sucht WMI (Windows) nämlich auf sämtlichen Laufwerken (gemappte Netzlaufwerke ebenfalls mit eingeschlossen!!!). Dadurch dauert solch eine Abfrage dann mal ggf. einige STUNDEN!
Mit freundlichen Grüßen,

H. Schriek
thellweg

Hallo Herr Kratz,

hier noch ein Ratschlag um solche Problematiken zukünftig gar nicht erst entstehen zu lassen.

Die Verwendung relativer Pfadangaben ist einer absoluten Pfadangabe immer vorzuziehen.
Im Bezug auf die Ordnerstrukturen lokaler Laufwerke ist dies eigentlich immer recht leicht umzusetzen.
Diese Vorgehensweise ist weitgehend bekannt und wird von den meisten Administratoren auch umgesetzt.

Kommen jedoch, wie in Ihrem Fall, Hostnamen ins Spiel wird es schwierig einen relativen Pfad anzugeben.
Viele Administratoren verknüpfen daher ausführbare Inhalte unter Verwendung eines absoluten Pfades.
Im Falle eines Umzuges dieser Ressource steht man dann vor dem von Ihnen geschilderten Problem.

Es geht jedoch auch anders, zumindest wenn man eine Microsoft Windows IT-Infrastruktur hat.
Das Zauberwort heißt DFS (distributed file system).
Die Funktionsweise von DFS ausführlich zu erläutern würde den Rahmen dieses Beitrages sprengen.
Ausserdem gehe ich davon aus, dass DFS weitgehend bekannt sein dürfte.
Leider werden die Möglichkeiten von DFS scheinbar zu wenig genutzt.
Hier also eine kurze Beschreibung einer Lösung der Problemstellung.

- Etablieren Sie eine DFS-Root in Ihrer Active Directory Domäne.
- Legen Sie eine übersichtliche Ordnerstruktur im DFS-Baum an.
- Erzeugen Sie DFS-Links für die Netzwerkressourcen in Ihrer DFS-Struktur.
- Verbinden Sie für Ihre Clients die DFS-Root als Netzlaufwerk.
- Erzeugen Sie Shortcuts zu Netzwerkressourcen zukünftig über die Pfadangaben der DFS-Struktur.

Wenn Sie Ressourcen zwischen Servern "umziehen" lassen müssen, ist es lediglich erforderlich die DFS-Links anzupassen.
Die Pfadangaben in Ihren Shortcuts werden, aus der Sicht der Clients, immer gleich und daher immer gültig sein.

Probieren Sie es einfach mal aus. DFS ist sehr vielseitig!
hschriek
Beiträge: 136
Registriert: Do Dez 29, 2005 6:09 pm

Man könnte auch die Verknüpfungen auf Umgebungsvariablen zeigen lassen.
Zieht eine Freigabe um, setzt man eben auf allen Clients die Umgebungsvariable %DerServerAufDemMeineFreigabeLiegt% auf den neuen Wert
Mit freundlichen Grüßen,

H. Schriek
kratz
Beiträge: 33
Registriert: Di Sep 02, 2008 8:40 am

Hallo Hr Schriek,

DFS ist bekannt und bereits im Einsatz, mein Problem ist ja dass ich die alte Pfadangabe weg und die neue DFS Pfadangabe drin haben will ;-)

Aber ich werde das mal mit der WMI Query versuchen, das wird ja nicht allzu kompliziert sein.

Danke für die Hilfe in jedem Fall.

Gruß
M. Kratz
hschriek
Beiträge: 136
Registriert: Do Dez 29, 2005 6:09 pm

Man kann auch Properties setzen mit WMI
Mit freundlichen Grüßen,

H. Schriek
Antworten