VisualBasic Script zur automatischen Druckerinstallation

thomaszwei

Newbie
Registriert
Jan. 2011
Beiträge
6
Hallo,

ich habe in VB ein Script geschrieben welches überprüft welche Drucker installiert sind und genau die gleichen Druckerwarteschlangen vom neuen Server installiert und die alten löscht.

Das funktioniert alles sehr gut bis auf eine Kleinigkeit. Wir verwenden im Unternehmen Windows 7 und wenn der Druckertreiber auf dem PC nicht bekannt ist, kommt eine Abfrage, dass eine neuer Druckertreiber installiert werden will und der Benutzer muss auf Install Printer klicken. Ich möchte nicht dass der User dieses Feld bekommt, weil dann der Sinn vom Script verloren geht.

Gibt es hier eine Möglichkeit das Script so auszuführen, dass eben kein Fenster aufgeht? bzw das eine silent drucker installation wird?

Danke im Voraus
grüße Thomas
 
Dafür braucht's kein eigenes Script. Microsoft liefert so was schon seit 2k-Zeiten mit:
Ruf mal "rundll32 printui.dll,PrintUIEntry" und schau Dir die Options an.
 
@
dein Skript kann nicht funktionieren, da du nicht die Firmenkennungscodierung und den Anschluss der Drucker nicht kennst. Außerdem ist noch das 32/64 Bit BS herauszufinden um die richtrigen Druckertreiber zu installieren. Woher nimmst du dann am Server die Treiber zur Installation?
 
Es gibt einen Druckserver auf dem alle Druckerwarteschlangen installiert sind.

Im Script wird nur abgefragt, ob ein gewisser Drucker installiert ist, wenn ja dann lösche diesen und füge die Druckerwarteschlange vom neuen Server hinzu.
Das macht das script auch problemlos nur wenn der Treiber dem Rechner nicht bekannt ist, kommt ein Fenster bei welchem man auf Install Printer oder auf Cancel klicken kann. Und genau das Fenster soll nicht auftauchen.

Bezüglich der Architektur. Am Druckerserver sind die Druckertreiber für beide Architekturen installiert und der PC nimmt sich automatisch die richtigen Treiber.

Ich habe das Script nun komplett fertig, mir wäre fast lieber das mit dem VB Script nun abzuschliessen als das komplette Script erneut zu schreiben.

Ich habe mir auch überlegt, eventuell das vbscript in ein AutoIT Script zu verschachteln um das SCript als Administrator auszuführen um den UAC zu umgehen, obwohl ich leider selbst nicht weiss ob das eben UAC ist oder nicht...

Hoffe dass ich mich verständlich ausdrücke.
 
Also das was Du vorhast geht mit Boardmitteln so:
rundll32 printui.dll,PrintUIEntry /in /n"\\<Servername>\<Freigabe des Druckers>"
Man braucht keine Adminrechte um als User sich einen Drucker zu verbinden.
 
Mein Script ist komplexer als dass ich mit dem Befehl hier auskommen würde. Aber danke dafür.

Gibts hier keinen Workaround oder Lösung?
 
Mehr ist aber gar nicht nötig, um einen Drucker hinzuzufügen.
Man muss ja das Rad nicht ständig neu erfinden. ;)
 
Doch es ist mehr nötig.

Ein Kollege hat zb 4 von unseren 30 Druckern installiert. Um hier dem User jede Möglichkeit etwas falsches zu machen wegzunehmen, ist es wichtig, dass wirklich nur die Druckerwarteschlangen installiert sind welche auch installiert sein sollen.

Das Script löscht ja die alten Drucker und installiert die gleichen Drucker vom neuen Server ohne dass der User etwas merkt davon.

Alles was ich im Vorhinein abfedern kann erspare ich mir an Arbeit.

Und das script ist ja soweit fertig. Nur das eine für mich überflüssige Fenster muss ich wegbekommen.
 
Habe das Script nun zu den Logon Scripts hinzugefügt. Habe nun leider folgendes Problem.

Es scheint so, als würde er von mir eine Bestätigung brauchen um den nicht signierten Treiber zu installieren am Bildschirm jedoch kein Fenster bzw. Aufforderung auftaucht.

Kennt hier jemand diesen Fall bzw. weiss jemand einen kleinen Tipp?
Wie zb. dass das Script nicht warten soll sondern alles Bestätigen soll.
Ähnlich dem Befehl, On Error Resume Next, ...
Ergänzung ()

Gelöst, wir haben in der Domäne per Group Policy erlaubt, dass unsignierte Druckertreiber installiert werden dürfen.

Danke für die Unterstützung.

Thomas
 
Zurück
Oben