Für den Zugriff auf viele Ordnerfreigaben, die auf Rechnern außerhalb der Domäne liegen, war es nötig die Anmeldeinformationen dauerhaft auf dem Server zu hinterlegen. In der Regel müssen diese nach einiger Zeit neu eingegeben werden. Das Problem ist, dass die Software die diese Freigaben nutzen soll, leider selber nicht die entsprechenden Anmeldeinformationen übergeben kann, sondern einen Pfad erwartet, auf den sie sofort zugreifen kann.
Um dieses Problem zu umgehen, habe ich die sogenannte „Anmeldeinformationsverwaltung“ in der Systemsteuerung verwendet. Dort kann man recht einfach Anmeldeinformationen hinterlegen:
Wenn man Anmeldeinformationen hinzufügen möchte, gelangt man in folgenden Dialog, wo man als Netzwerkadresse auch einfach die IP-Adresse des Zielgeräts angeben kann:
Wenn man allerdings viele Einträge anlegen muss, bei denen sich nur die IP-Adresse ändert, sollte man lieber über die Befehle für die Kommandozeile sein Glück versuchen. Hierzu nutzt man einfach die folgenden Befehle für das Programm cmdkey.
Bisher gespeicherte Anmeldeinformationen anzeigen:
1 |
cmdkey /list |
Um Anmeldeinformationen hinzuzufügen kann man folgenden Befehl verwenden, %IP-Adresse% kann auch der Name eines Geräts sein:
1 |
cmdkey /add:%IP-ADRESSE% /user:%BENUTZER% /pass:%PASSWORT% |
Um Anmeldeinformationen wieder zu löschen kann man folgenden Befehl verwenden, %IP-Adresse% kann auch der Name eines Geräts sein:
1 |
cmdkey /delete:%IP-ADRESSE% |
In einer Schleife könnte man das ganze wie folgt benutzen. Da ich die Syntax von for-Schleifen in Batch-Dateien hasse, habe ich die Schleife etwas dreckig mit „goto“ gebaut:
1 2 3 4 5 6 7 8 9 10 11 12 |
@echo off set /a COUNT=1 :LOOP echo %COUNT% set /a COUNT+=1 cmdkey /add:192.168.10.%COUNT% /user:bla /pass:blabla if %COUNT% lss 201 goto LOOP echo. echo Done |
In diesem Code-Schnipsel wird bis 200 hochgezählt und bei jedem Durchlauf für die entsprechend zusammengebaute IP-Adresse ein Eintrag in der Anmeldeinformationsverwaltung angelegt.
Die hinterlegten Anmeldeinformationen sind immer nur für den aktiven Benutzer, unter dem die Befehle ausgeführt worden sind, verfügbar.