apfeitee
Goto Top

Netzwerkdrucker auslesen und neu hinzufügen

Hallo Leute,

ich habe folgendes Problem:

Ich möchte gerne per Batch meine Drucker auslesen und diese alle entfernen und wieder neu hinzufügen.
Dazu hab ich schon folgenden Code:

wmic /APPEND:"C:\printer.txt" printer get sharename  

setlocal EnableDelayedExpansion

FOR /F %%f IN (C:\printer.txt) do 
(
rundll32 printui.dll,PrintUIEntry /q /dn /n \\print\%%f
rundll32 printui.dll,PrintUIEntry /q /in /n \\print\%%f
)
rem pause

type nul >C:\printer.txt

Ich lasse mir erst alle Netzwerkdrucker in eine Textdatei schreiben, die ich dann in dann in der Schleife Zeile für Zeile auslese und in eine Variable speichere.
die Variable setzte ich dann an den Pfad, sodass die Drucker über den Befehl entfernt oder hinzugefügt werden.

Leider will das ganze noch nicht so ganz. Das CMD Fenster öffnet sich , gibt alle Befehle aus und das wars dann auch schon.
Das komische ist, beim allerersten Ausführen des Skripts hat alles so geklappt wie ich es wollte. Es kam nacheinander die Aufforderungen die Drucker zu entfernen und wieder hinzuzufügen, jetzt aber nicht mehr ??

Hat vielleicht jemand ne Idee?

Gruß ApfelTee face-smile

Content-Key: 270008

Url: https://administrator.de/contentid/270008

Printed on: April 26, 2024 at 21:04 o'clock

Mitglied: 116830
116830 Apr 23, 2015 at 08:08:43 (UTC)
Goto Top
ggf. fehlende Adminrechte?
Member: ApfeITee
ApfeITee Apr 23, 2015 at 08:15:53 (UTC)
Goto Top
das kann es nicht sein, Adminrechte hab ich. Am Anfang hatte es ja einmal funktioniert
Member: Deepsys
Deepsys Apr 23, 2015 at 08:33:34 (UTC)
Goto Top
Hi,

Zitat von @ApfeITee:
Leider will das ganze noch nicht so ganz. Das CMD Fenster öffnet sich , gibt alle Befehle aus und das wars dann auch schon.
Das komische ist, beim allerersten Ausführen des Skripts hat alles so geklappt wie ich es wollte. Es kam nacheinander die
Aufforderungen die Drucker zu entfernen und wieder hinzuzufügen, jetzt aber nicht mehr ??
Startest du den Druckerserver lokal vor dem Entfernen neu?
Es gibt immer wieder Treiber die das Löschen einfach verhindern, weil sie eben auf den Drucker zugreifen.
Das hilft meist nur, den Druckerserver zu stoppen, und dann wirklich schnell den Drucker + Treiber zu löschen.

VG
Deepsys
Member: ApfeITee
ApfeITee Apr 23, 2015 at 09:21:45 (UTC)
Goto Top
hi,
Ne ich möchte ja nicht jedes mal den Druckserver neustarten. Die Batch Datei soll beim User ausgeführt werden sodass seine Drucker die er vom Druckserver hinzugefügt hat , sich einmal neuverbinden. Also ich kann denn Drucker auch einfach jeweils einzeln immer rechtsklicken und entfernen und über die Freigabe wieder hinzufügen. Das kann kein Treiberproblem sein oder? Gibt es vielleicht noch eine andere Möglichkeit?

Danke!
Member: Deepsys
Deepsys Apr 23, 2015 at 09:45:50 (UTC)
Goto Top
OK, mal unter der Dienste nachgeschaut, mit dem "lokalen Druckerserver" meinte ich korrekterweise die Druckwarteschlange, nicht den Druckerserver für alle.

Allerdings verstehe ich dein Skript nun gar nicht mehr, warum sollten sich denn Drucker nicht selber neuverbinden?
Oder bin ich ganz falsch?
Mitglied: 114757
Solution 114757 Apr 23, 2015, updated at Apr 27, 2015 at 06:32:45 (UTC)
Goto Top
Member: ApfeITee
ApfeITee Apr 27, 2015 at 06:32:33 (UTC)
Goto Top
Also hab den Dienst mal vorm Starten vom Skript mal neugestartet aber funktioniert noch nicht.
Wie meinst du die Drucker sich selber neuverbinden? Ich will einfach die hinzugefügten Drucker lokal rausschmeißen und neu hinzufügen. Aber das Skript von Jodel32 sieht so aus als wäre dass, das richtige für michface-smile frag mich nur trotzdem noch weil mein Skript erst funktioniert hat und dann auf einmal wieder nicht face-big-smile