Möchte man freigegebene Netzwerkdrucker ganz klassisch in einem Anmeldescript anstatt Gruppenrichtlinie verbinden, so kann man folgende Zeilen dafür verwenden:
rundll32.exe printui.dll,PrintUIEntry /in /n "\\[DRUCKSERVER]\[FREIGABENAME]"
Unter Umständen möchte man auch einmalig einen bestehenden Drucker entfernen und anschließend mit einem anderen Drucker verbinden, dann helfen folgende Zeilen:
if exist %temp%\p1.txt goto p1_skip IF EXIST "\\[DRUCKSERVER]\[FREIGABENAME]" ( rundll32 printui.dll,PrintUIEntry /dn /n "\\[DRUCKSERVER]\[FREIGABENAME]" ) IF NOT EXIST "\\[DRUCKSERVER]\[FREIGABENAME]" ( rundll32.exe printui.dll,PrintUIEntry /in /n "\\[DRUCKSERVER]\[FREIGABENAME]" echo 1 > %temp%\p1.txt ) :p1_skip
Folgende Anmerkungen zu den Zeilen:
Zeile 1: Ich prüfe zuerst mit der Datei p1.txt ob das Script schon einmal durchgelaufen ist. Ansonsten springe zur [Zeile 10] .
Zeile 2: Wenn der Drucker verbunden ist, dann [Zeile 3] lösche diesen.
Zeile 5: Wenn der Drucker nicht vorhanden ist, dann [Zeile 6] Verbinder diesen.
Zeile 7: Erzeuge eine Datei die ich in [Zeile 1] auf vorhanden sein prüfen kann.
Dies man beliebig wiederholen um mehrere Drucker so zu verbinden, bzw. zu entfernen. Natürlich muss man den Namen der „Merk-Datei“ (im Beispiel p1.txt) anpassen.