Verknüpfungsverteiler

Verknüpfungsverteiler Abk.VV

Was ist der Verknüpfungsverteiler?

Der VV (VerknüpfungsVerteiler) bietet Ihnen die Möglichkeit bei der Windows Anmeldung die Verknüpfungen automatisch zu erstellen. Die Erstellung kann je nach einer Active-Directory Gruppe, dem Benutzernamen oder Computernamen erfolgen. Es müssen keine GPO’s, Batch oder sonstige Lösungen erstellt werden. Zusätzlich können Ausnahmen, Icons, Tastenkürzel und vieles mehr eingestellt werden. Der Zugriff auf den VV kann aus einem zentralen Punkt erfolgen (keine Verteilung nötig) ,zusätzlich muss das Programm nicht installiert werden.Die Erstellung der Shortcuts wird mithilfe einer Konfigurationsdatei (INI) gesteuert.

Einstieg

Ein Unternehmen mit mehreren Abteilungen und Mitarbeitern braucht entsprechend eine Vielzahl von Anwendungen und Datei Ressourcen. Ein Mitarbeiter der Abteilung A braucht nicht unbedingt die gleiche Software wie der Mitarbeiter der Abteilung B. Auf dem Desktop sollten deshalb nur die Verknüpfungen vorhanden sein die der Mitarbeiter auch benötigt und nutzt. Handelt es sich um wenige Mitarbeiter und Computer so ist die manuelle Verteilung soweit kein Problem.Sollten aber größere Zahlen ins Spiel kommen, so sieht die Sache ganz anders aus, hier bietet sich einfach eine automatisierte Lösung an.

Installation

Der VV besteht aus zwei grundlegenden Komponenten. Das fertige Programm, sowie die Konfigurationsdatei.Es müssen keine Installationsdateien entpackt werden oder andere Eingriffe ins System erfolgen. Die fertige EXE Datei führt das Programm direkt aus. Die Konfigurationsdatei liefert die entsprechenden Informationen. Die VVBS.exe muss nicht lokal auf die Rechner verteilt werden.Die beste Option ist die Ausführung der EXE Datei als Logonscript oder die Ausführung des Programms aus bereits bestehender Loginanmeldung. Das Programm unterstürzt mehrere Startargumente:

  • -ado (Active Directory Off) Schaltet die AD Unterstützung aus. Verk. werden je nach Benutzer oder Computer verteilt
  • -tio (Tray Icon Off) Blendet das Tray Icon in der Windows Statusleiste aus
  • -sl (SaveLog) Speichert eine Log Datei mit möglichen Fehlern und Informationen (ab ver.2.0)

Die VVBS.ini Konfigurationsdatei erfordert, bei Erstellung neuer Einträge, eine besondere Syntax. Sehr wichtig dabei ist die INI Datei muss sich im gleichen Ordner wie die VVBS.exe befinden.

Erste Schritte

Schauen wir uns erstmal den allgemeinen Aufbau der INI Datei an:

[Sektionsname]
Gruppen=Group1;User2;Host1
Update=20140530
Löschen=1;u;;User3
Ausnahmen=c;;(?i)^abt1-##os;;X64
Verkpfad=@UserProfileDir@
Dateipfad32=@SystemDir@\notepad.exe
Dateipfad64=@ProgramFilesDir64@\Internet Explorer\iexplore.exe
Arbeitspfad=@SystemDir@
Argumente=/silent
Beschreibung=Hallo ich bin eine Verknüpfung
Icon=C:\hallo.ico
Hotkey=^!a

In diesem Beispiel werden natürlich alle möglichen Parameter, für das Verständnis der einzelnen Funktionen, verwendet. Die einzelnen Einträge der Sektion werden in den nächsten Schritten erklärt, für mehr Informationen laden Sie sich bitte die aktuelle Hilfedatei herunter.

[Sektionsname]
Dieser Eintrag wird für die Bezeichnung der Verk. verwendet.

Beispiele:
[@Username@]
Es wird eine Verknüpfung mit dem Namen des Benutzers angelegt.
[Service]
Es wird eine Verknüpfung mit dem Namen 'Service' angelegt.
Gruppen=Group1;User2;Host1
Bei allen Mitgliedern der AD Gruppe 'Group1',bei dem Benutzer 'User2' und bei allen Benutzern die sich am Rechner 'Host1' anmelden wird die entsprechende Verk. erstellt.

Beispiele:
Gruppen=Meyer;VLC_ADUSER
Benutzer 'Meyer' und alle Mitglieder der Gruppe 'VLC_ADUSER' bekommen die Verk. Dabei
spielt es keine Rolle ob User 'Meyer' Mitglied der 'VLC_ADUSER' ist und an welchem
Rechner er sich anmeldet.
Update=20140530
Der VV erstellt nicht bei jeder Anmeldung die Verknüpfungen neu. Dieser Schlüssel dientdazu Änderungen an der Verk. dem VV mitzuteilen. Hier wird das Änderungs - bzw. Erstelldatum im Format YYYYMMDD angegeben.

Beispiele:
Update=20140530
Die Verk. wird erstellt mit der angegebenen Zeit. Sollten jetzt Änderungen in der INI
zu dieser Verk. nach dem Datum vorgenommen worden sein, wird die Verk. nicht neu 
erstellt solange man nicht den Update Eintrag mit aktualisiert.
Löschen=1;u;;User3
Wird die Verk. nicht mehr benötigt oder soll sie gelöscht werden, kann dieser Schlüssel
verwendet werden.

Beispiele:
Löschen=1;u;;Müller
Die Verk. wird bei jedem gelöscht wenn der Schlüssel 'Gruppen' zutreffend war.
Allerdings können, wie in diesem Fall, Ausnahmen eingetragen werden. Hier wird 
die Verk. nicht gelöscht wenn sich der Benutzer 'Müller' anmeldet trotz der positiven 
'Gruppen' Zugehörigkeit.
Ausnahmen=c;;(?i)^abt1-##os;;X64
Hier können Ausnahmen für die Erstellung der Verk. eingetragen werden. Das Bedeutet
auch wenn der Schlüssel 'Gruppen' passen sollte, wird wenn eine Ausnahme zutrifft, die Verknüpfung nicht erstellt. Dieser Eintrag erfordert eine besondere Syntax die Sie der Hilfedatei entnehmen können.

Beispiele:
Ausnahmen=c;;(?i)^abt1-##os;;X64
Bei allen Rechnern deren Hostnames genau mit 'abt1-' anfangen sowie alle 64Bit Systeme bekommen keine Verk.
Ausnahmen=g;;01$##u;;Meyer
Bei Mitgliedern von AD Gruppen die mit '01' enden wird die Verk. nicht erstellt sowie
bei dem Benutzer Meyer.

Verkpfad=@UserProfileDir@
Standardmäßig wird die Verk. auf dem Desktop angelegt. Sollte das nicht gewollt sein   kann hier der Pfad eingetragen werden.

Beispiele:
Verkpfad=@UserProfileDir@
Die Verk. wird im Benutzerverzeichnis erstellt.
Dateipfad32=@SystemDir@\notepad.exe
Dateipfad64=@ProgramFilesDir64@\Internet Explorer\iexplore.exe

Hier wird der Pfad zu dem eig. Programm eingetragen auf welches am Ende die Verk.
verweist.Unterschieden wird zwischen 32Bit und 64Bit Systemen, wobei Standardmäßig der 32Bit Pfad bei beiden Systemen benutzt wird sollte der 64Bit Schlüssel leer bleiben.

Beispiele:
Dateipfad32=@ProgramFilesDir@\Internet Explorer\iexplore.exe
Dateipfad64=@ProgramFilesDir64@\Internet Explorer\iexplore.exe
Bei 32Bit Systemen verweist der Pfad auf C:\Programme\In....
Bei 64Bit Systemen verweist der Pfad auf C:\Programme\In....

Dateipfad32=@ProgramFilesDir@\Internet Explorer\iexplore.exe
Dateipfad64=
Bei 32Bit Systemen verweist der Pfad auf C:\Programme\In....
Bei 64Bit Systemen verweist der Pfad auf C:\Programme (x86)\In....
Arbeitspfad=@SystemDir@
Arbeitspfad besser bekannt als 'Ausführen in' unter Windows.

Beispiele:
Arbeitspfad=@WindowsDir@
'Ausführen in' wird auf 'C:\Windows' gesetzt.
Argumente=/silent
Also die Parameter die man der Anwendung übergeben will. Es können auch URL's eingetragen werden falls eine Browser Verk. erstellt wird.
Beschreibung=Hallo ich bin eine Verknüpfung
Der Schlüssel setzt die Beschreibung fest, welche beim Stillstand der Maus über
der Verk. erscheint.
Icon=C:\hallo.ico
Pfad zu einer optionalen ICO Datei. Standardmäßig wird das Symbol der eig. Anwendung
verwendet.
Hotkey=^!a
Hotkey definiert die Tastenkombination mit welcher die Verk. gestartet werden kann.
Dieser Schlüssel erfordert eine besondere Syntax die Sie der Hilfedatei entnehmen 
können.

Beispiel:
Hotkey=^!a
Mit STRG + ALT + a wird die Verk. gestartet.

Wie man manchen Beispielen entnehmen konnte, können bestimmte Makros, ähnlich der Umgebungsvariablen von Windows, benutzt werden.Diese werden mit einem @ eingeleitet und beendet. Eine vollständige Liste finden Sie in der Hilfe Datei. Zusätzlich muss beachtet werden sollte das Zeichen @ oder $ gebraucht werden muss man es doppelt eintragen $$ oder @@.

Selbstverständlich wird jede Anmeldung mit Rechten des aktuellen Benutzers durchgeführt. Pfade auf welche der User keine Zugriffsrechte oder Schreibrechte besitzt führen nicht zum gewünschten Ergebnis.

Ich versichere hiermit Ausdrücklich das es sich bei hier angebotener Software nicht um einen Virus oder jegliche andere Schädlingssoftware handelt. www.virustotal.de
Die Software wurde mit der Programmiersprache AutoIt geschrieben, wo es leider immer wieder zu Falschmeldungen kommt. Sollte die Hilfe – Datei nicht ordnungsgemäß angezeigt werden liegt es vermutlich an der nicht zugelassenen Ansicht (.chm Datei – Eigenschaften – Zulassen). Danach sollte alles funktionieren.

Alle Anwendungen sind urheberrechtlich geschützt.Es ist nicht gestattet, die Software oder Kopien im Ganzen oder teilweise zu verändern, zu übersetzen, zu disassemblieren oder zu dekompilieren ohne die Einverständnis des Autors.

Diese Software ist zu 100% kostenlos. Weitere Lizenzbedingungen finden Sie in der Lizenzdatei.

  • History:
  • 21.05.2014: Version 1.0
  • 22.05.2014: Version 1.1
  • 17.06.2014: Version 1.5 Veröffentlicht
  • 27.07.2014: Version 1.6 Veröffentlicht
    • Bug bei der Erstellung einer 64Bit Verk., wenn die 32Bit Angabe im Eintrag fehlte,beseitigt.
    • VVBS Version 1.6
  • 15.08.2014: Version 2.0 Veröffentlicht
    • Neue Funktion: Mit dem Startparameter -sl einfach Log Dateien mit möglichen Fehlern und nützlichen Informationen erzeugen. (sehe Hilfedatei)
    • Bug bei der Erstellung der Verk. auch wenn das angegebene Ziel nicht exsistierte oder kein Zugriffsrecht bestand.
    • VVBS Version 2.0
  • 22.12.2014: Version 2.1 Veröffentlicht
    • Unter Ausnahmen können jetzt auch AD-Gruppen eingetragen werden (sehe Hilfedatei)
    • VVBS Version 2.1
  • 17.02.2015: Version 2.2 Veröffentlicht
    • Globale Einstellungen hinzugefügt. So können Ausnahmen einmal, passend für alle Einträge, eingetragen werden (sehe Hilfedatei).
    • VVBS Version 2.2
  • 13.06.2015: Version 2.3 Veröffentlicht
    • Es werden nun beide AD – Gruppen überprüft. Die des Benutzers und des Computers. Bis zu diesem Zeitpunkt wurden nur die Gruppen der Benutzer ausgelesen. Diese Vorgehensweise kann aber über die Startparameter geregelt werden (sehe Hilfedatei).
    • Bug: Verk. wurde nicht neu erstellt 1.) Wenn Löschen Flag gesetzt war 2.) Die Verk. nicht mehr existierte 3.) Eine Aktive Löschen – Ausnahme gesetzt war.
    • Compilieren anders gelöst – Virustotal erkennt nun keine Gefahr mehr (UPX Compile AutoIt).
    • VVBS Version 2.3
  • 11.08.2015: Version 2.4 Veröffentlicht
    • Es werden mehr Daten beim Verwenden des Log Parameters -sl ausgewertet.
    • Bug: Beim auslesen der AD – Gruppen kam es zu Fehlern wenn nur eins von beiden Startparametern (-adu -adc) angegeben war.
    • Neuer Startparameter -upo schaltet die Update Funktion aus (sehe Hilfedatei)
    • Neue Startparameter -adusr „Benutzername“ und -adpw „Passwort“ können für die Authentifizierung gegenüber dem AD benutzt werden (sehe Hilfedatei).
    • VVBS Version 2.4
  • 19.10.2015: Version 2.5 Veröffentlicht
    • Erstellen Sie ganz einfach Verknüpfungen zu einer Citrix Public Application sei es vom Desktop , Eigenen Dateien oder sonst wo. Für mehr Informationen lesen Sie bitte die Hilfedatei.

 

7 Gedanken zu „Verknüpfungsverteiler

  1. Stefan Krüger

    Hallo,
    geniales Tool, aber wie könnte man eine Verknüpfung nur für User einer definierten Berechtigungsgruppe an einem bestimmten Computer erzeugen? Besitzer der Berechtigungsgruppe sollen die Verknüpfung nur am Terminalserver, nicht aber an allen lokalen PCs erhalten (Anmeldename am PC und Termserver identisch). Danke Stefan Krüger

    Antworten
    1. BoBek Beitragsautor

      Hi Stefan,

      haben eure Terminalserver zufällig einen Identifikator im Hostname, so das man diese als Terminalserver erkennen kann? Wenn ja, dann sollte dein Vorhaben kein Problem sein, indem du als Ausnahme ein „negative look-ahead“ Pattern benutzt. Als Beispiel nehmen wir mal, das ein Hostname des Terminalservers immer mit TS endet. Wenn wir folgendes Pattern unter Ausnahme verwenden:

      Ausnahmen=c;;^((?!TS$).)+$

      dann werden alle Computer dessen Hostnamen mit TS enden hier eine 0 zurückliefern. Alle anderen Rechner würden eine 1 liefern und die Erzeugung der Verk. wird verworfen. Das heißt, die Benutzer würden die Verk. an jedem Rechner dessen Hostname mit TS endet bekommen und bei allen anderen nicht. Hoffe ich konnte dir damit ein bisschen helfen.

      Antworten
      1. Stefan Krüger

        Hallo BoBek,
        echt genial, vielen Dank! Mit dem Ende des Terminalservernamen funktioniert die Ausnahme einwandfrei. Sorry, ich steige nicht durch regex-Syntax durch. Kannst Du auch die Syntax für die Ausnahme schreiben, wenn die Terminalserver z.B. mit TS beginnen (z.B. TS01, TS02, TS03)? Ich scheitere mit meinen Versuchen über

        Ausnahmen=c;;^((?<!TS$).)+$

        Antworten
        1. BoBek Beitragsautor

          Das ist kein Problem! Einfach nicht das Ende $ sondern den Anfang ^ des Strings checken:

          ^((?!TS^).)+$

          Hoffe jetzt funktioniert alles 😉

          Antworten
          1. Stefan Krüger

            vielen Dank. Das hilft wirklich weiter. Mit der INI-Zeile

            Ausnahmen=c;;^((?!^TS).)+$

            wird jeweilige Desktop-Verknüpfung nicht erzeugt, wenn der Clientname NICHT mit TS beginnt. Nochmals Danke!

    1. BoBek Beitragsautor

      Klar! Ein ganz einfaches Beispiel:

      [DesktopZumAnklicken]
      Gruppen=@UserName@
      Dateipfad32=@DesktopDir@

      Hier wird einfach auf dem Desktop die Verk. zum Desktop Ordner erstellt.

      [DesktopZumAnklicken]
      Gruppen=@UserName@
      Verkpfad=@UserProfileDir@
      Dateipfad32=@DesktopDir@

      Oder wie zum Beispiel hier, die Verk. wird im Benutzerverzeichnis angelegt.

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.