maeck
Goto Top

Drucker installieren per Batch-datei

Hallo.

Ist es möglich, per Batch alle Drucker auf einem Rechner (Win98SE) zu deinstallieren und dann einen bestimmten Netzwerkdrucker zu installieren?

Danke für eure Hilfe,
gruß maeck

Content-Key: 2955

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

Printed on: April 20, 2024 at 00:04 o'clock

Member: alaska
alaska Oct 04, 2004 at 11:03:09 (UTC)
Goto Top
war zu faul die Batch zu schreiben
aber vielleicht kannst du damit etwas anfangen

Syntax: rundll32 printui.dll,PrintUIEntry [Optionen] [@Befehlsdatei]
/a[Datei] Name der Binärdatei
/b[Name] Basisdruckername
/c[Name] UNC-Computername, wenn die Aktion auf einem Remotecomputer ausgeführt wird.
/dl Löscht den lokalen Drucker.
/dn Löscht die Netzwerkdruckerverbindung.
/dd Löscht den Druckertreiber.
/e Zeigt Druckeinstellungen an.
/f[Datei] Entweder INF-Datei oder Ausgabedatei.
/ga Fügt Druckerverbindungen pro Maschine hinzu.
/ge Listet Druckerverbindungen pro Maschine auf.
/gd Löscht Druckerverbindungen pro Maschine.
/h[Arch] Treiberarchitektur Alpha | Intel | IA 64
/ia Installiert Druckertreiber mithilfe einer INF-Datei.
/id Installiert Druckertreiber mithilfe des Assistenten.
/if Installiert Drucker mithilfe der angegebenen INF-Datei.
/ii Installiert Drucker mithilfe des Assistenten und einer INF-Datei.
/il Installiert Drucker mithilfe des Assistenten.
/in Fügt eine Netzwerkdruckerverbindung hinzu.
/j[Anbieter] Druckanbietername
/k Druckt eine Testseite auf dem angegebenen Drucker aus.
Kann bei der Druckerinstallation nicht verwendet werden.
/l[Pfad] Quellpfad des Druckertreibers
/m[Modell] Modellname des Druckertreibers
/n[Name] Druckername
/o Zeigt die Druckerwarteschlange an.
/p Zeigt Druckereigenschaften an.
/q Stiller Modus. Fehlermeldungen werden nicht angezeigt.
/r[Anschluss] Anschlussname
/s Zeigt Servereigenschaften an.
/Ss Speichert Druckereinstellungen in einer Datei.
/Sr Stellt Druckereinstellungen aus einer Datei wieder her.
Speichert Optionsattribute für Druckereinstellungen oder stellt diese wieder her.
Die Attribute müssen am Ende des Befehls stehen:
2PRINTER_INFO_2
7PRINTER_INFO_7
cFarbprofil
dDruckerdaten
sSicherheitsbeschreibung
gGlobaler DevMode
mMinimale Einstellungen
uBenutzer-DevMode
rNamenskonflikte lösen
fNamen erzwingen
pAnschluss zuordnen
/u Verwendet den vorhandenen Druckertreiber, sofern bereits einer installiert ist.
/t[#] Nullbasierte Indexseite zum Starten
/v[Version] Eine der folgenden Treiberversionen: Windows 95, 98 und Me |
Windows NT 4.0 | Windows NT 4.0 oder 2000 | Windows 2000 oder XP | Windows XP
/w Fordert einen Treiber an, wenn der angegebene Treiber nicht in der INF-Datei
gefunden wird.
/y Richtet den Drucker als Standarddrucker ein.
/Xg Liest Druckereinstellungen.
/Xs Richtet Druckereinstellungen ein.
/z Gibt diesen Drucker nicht automatisch frei.
/Z Erstellt den Druckernamen nicht automatisch
/K ändert die Bedeutung von /v und /h um 0,1,2,3 Windows IA64 | Windows NT x86
| Windows NT Alpha_AXP | Windows 4.0 mit einzubeziehen
/Z Gibt diesen Drucker frei. Verwendung nur mit der Option /if möglich.
/? Zeigt diese Hilfemeldung an.
@[Datei] Befehlszeilen-Argumentsdatei.
/Mw[Nachricht]Zeigt vor Ausführung des Befehls eine Warnung an.
/Mq[Nachricht] Zeigt vor Ausführung des Befehls eine Bestätigung an.
/W[flags] beschreibt die Attribute und Parameter für den Assistenten
detailliert (für APW & APDW)
rführt dazu, dass der Assistent von der letzten Seite aus
neu gestartet werden kann
/G[flags] bestimmt die globalen Attribute und Parameter
wunterdrückt die Benutzeroberfläche Installationstreiber-Warnmeldungen
(Modus Sehr Leise)

Beispiele:
Startet die Servereigenschaften:
rundll32 printui.dll,PrintUIEntry /s /t1 /n\\Computer

Startet die Druckereigenschaften:
rundll32 printui.dll,PrintUIEntry /p /n\\Computer\Drucker

Startet den Druckerinstallations-Assistent lokal:
rundll32 printui.dll,PrintUIEntry /il

Startet den Druckerinstallations-Assistent auf \\Computer:
rundll32 printui.dll,PrintUIEntry /il /c\\Computer

Startet die Warteschlangenansicht:
rundll32 printui.dll,PrintUIEntry /o /n\\Computer\Drucker

Startet eine INF-Installation:
rundll32 printui.dll,PrintUIEntry /if /b "Testdrucker" /f %windir%\inf\ntprint.inf /r
"lpt1:" /m "AGFA-AccuSet v52.3"

Startet den Druckerinstallations-Assistent mithilfe einer INF-Datei:
rundll32 printui.dll,PrintUIEntry /ii /f %windir%\inf\ntprint.inf

Fügt eine Druckerverbindung pro Computer hinzu:
rundll32 printui.dll,PrintUIEntry /ga /c\\Computer /n\\Computer\Drucker /j"LanMan-Druckdienste"

Löscht die Druckerverbindung pro Maschine:
rundll32 printui.dll,PrintUIEntry /gd /c\\Computer /n\\Computer\Drucker

Zählt die Druckerverbindungen pro Maschine auf:
rundll32 printui.dll,PrintUIEntry /ge /c\\Computer

Fügt einen Druckertreiber mithilfe einer INF-Datei hinzu:
rundll32 printui.dll,PrintUIEntry /ia /c\\Computer /m "AGFA-AccuSet v52.3" /h
"Intel" /v "Windows 2000 oder XP" /f %windir%\inf\ntprint.inf

Fügt einen Druckertreiber mithilfe einer INF-Datei hinzu:
rundll32 printui.dll,PrintUIEntry /ia /K /c\\Computer /m "AGFA v52.3" /h "WindowsNT x86" /v 3

Entfernt einen Druckertreiber:
rundll32 printui.dll,PrintUIEntry /dd /c\Computer /m "AGFA v52.3" /h "Intel"
/v "Windows 2000 oder XP"

Entfernt einen Druckertreiber:
rundll32 printui.dll,PrintUIEntry /dd /K /c\Computer /m "AGFA v52.3" /h "Windows NT x86" /v 3

Richtet den Drucker als Standarddrucker ein:
rundll32 printui.dll,PrintUIEntry /y /n "Drucker"

Richtet einen Kommentar zum Drucker ein:
rundll32 printui.dll,PrintUIEntry /Xs /n "Drucker" Comment "Mein cooler Drucker"

Liest die Druckereinstellungen:
rundll32 printui.dll,PrintUIEntry /Xg /n "Drucker"

Schreibt die Druckereinstellungsergebnisse in eine Datei:
rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n Drucker"

Befehlssyntax für das Einrichten der Druckereinstellungen:
rundll32 printui.dll,PrintUIEntry /Xs /n "Drucker"

Speichert alle Druckereinstellungen in einer Datei:
rundll32 printui.dll,PrintUIEntry /Ss /n "Drucker" /a "datei.dat"

Stellt alle Druckereinstellungen aus einer Datei wieder her:
rundll32 printui.dll,PrintUIEntry /Sr /n "Drucker" /a "datei.dat"

Speichert Level-2-Druckerinformationen in einer Datei:
rundll32 printui.dll,PrintUIEntry /Ss /n "Drucker" /a "datei.dat"

Stellt aus einer Datei die Druckersicherheitsbeschreibung wieder her:
rundll32 printui.dll,PrintUIEntry /Sr /n "Drucker" /a "datei.dat"

Stellt aus einer Datei die globalen Devmode- und Druckerdaten wieder her:
rundll32 printui.dll,PrintUIEntry /Sr /n "Drucker" /a "datei.dat"

Stellt aus einer Datei die minimalen Einstellungen wieder her
und löst den Anschlussnamen auf:
rundll32 printui.dll,PrintUIEntry /Sr /n "Drucker" /a "datei.dat" m p
Member: maeck
maeck Oct 04, 2004 at 11:26:14 (UTC)
Goto Top
*erschlagen-werd*

oje oje das ist aber ganz schön viel. Kann da leider nicht ganz so viel draus lesen.
Hast du vielleicht nen Beispiel dazu?

Danke,
Marcel
Member: alaska
alaska Oct 04, 2004 at 11:58:31 (UTC)
Goto Top
1) die zweite Hälfte meines Mails besteht bei genauen Hinsehen aus Beispielen

2) mir ist nicht klar was du mit "allen" Druckern installieren meinst,
drück dich genauer aus, was du eigentlich tun willst
oder willst du ganz einfach ein Tool etwa wie Druckinstall Druckername ???

3) wird wahrscheinlich ein bisschen Dauern, aber wenn ich Zeit hab, versuch ich
wowas zu basteln

Tschau
Member: maeck
maeck Oct 04, 2004 at 12:11:23 (UTC)
Goto Top
hallo alaska,

wir haben in einer schwererziehbarenschule einen kleinen Computerraum (7Rechner) mit Win98SE drauf. Ein Rechner ist ein WinNT-Server wo ein Drucker angeschlossen ist.

Die Schüler gehen leider immer wieder her und löschen irgendwelche Drucker oder installieren wahllos einen anderen.
Da man das unter Win98 so schlecht verhindern kann, hatte ich ein Script angedacht, was beim Starten alle vorhandenen Drucker einfach löscht und dann den richten Drucker vom Server her einbindet (als Netzwerkdrucker).
Wenn man diesen dann noch als Standartdrucker einrichten und vielleicht auch als online(manche Schüler stellen auch einfach "Drucker anhalten" ein und dann geht nichts mehr) definieren könnte, wäre das echt genial.

Danke für deine Hilfe,
Gruß Marcel
Member: alaska
alaska Oct 04, 2004 at 20:02:50 (UTC)
Goto Top
was ich dir zuerst gemailt habe, geht nur zwischen WinNT oder Win2000 Rechnern - Sorry war zu schnell unterwegs.

andere Möglichkeit

Unter Startmenü->Ausführen
eingeben regedit

unter (für den Anwender)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
bzw für (für das ganze System - eines Computer)
HKEY_LOKAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

neuen Wert erstellen
als Datentyp REG_DWORD
mit dem Namen NoDeletePrinter

wert 1 bedeutet Drucker können nicht gelöscht werden
wert 2 bedeutet Druckcer können gelöscht werden

das sollte normalerweise unter allen Windows-Systemen funktionieren, leider gibts Unter- und OEM-Versionen,
die nicht so reagieren wie geplant.
Ich hoffe du kennst dich mit der Registry aus, bzw. hast jemanden zur Hand der das kann.

ist glaube auch einfacher (und für Win98 auch gesünder) als dauernd Drucker zu in- u. deinstallieren.

Hoffentlich klappts
gruss
walter
Member: Esa
Esa Jan 26, 2006 at 08:05:05 (UTC)
Goto Top
Hallo,

ich habe diese Anleitung sehr hilfreich gefunden und habe mir gleich einmal ein Skript zusammengebastelt.

Auf 2 PCs funktioniert es einwandfrei, doch leider nicht auf dem dritten.
Alle PCs sind WXP SP2 und auch ansonsten ziemlich ähnlich konfiguriert.

Leider gibt es beim Laden der Konfiguration aus einer Datei bei dem besagten dritten Rechner Probleme:
rundll32 printui.dll,PrintUIEntry /Sr /n "Druckername" /a "\\Server>\Freigabe\Treiber\Installation\Druckerconfig.dat"
-> Druckername und Pfadangaben stimmen

Kann mir jemand helfen?