72417
Goto Top

Automatische Druckerinstallation und Freigabe per Batch o. Script

Moin.
erstmal zur Struktur des Netzes.
Wir haben eine Win-Domäne, verwaltet durch Samba.
Jede Woche werden die 30 Clients geimaged durch unseren FOG (Free Open Ghost).
Der verwaltet auch die Drucker insoweit, dass er den Clients sagt, welcher Drucker für sie zuständig ist. Sprich: "Client 1" bootet, der FOG Client sagt ihm: "Dein Standarddrucker hängt an \\Client 2\Drucker_Client2\". Dem Client, an dem der Drucker hängt sagt der FOG etwas ähnliches:"Dein Standarddrucker hängt an usb1: und den Treiber findest du unter C:\WINDOWS\druckertreiber\[Modelname]\Treiber.inf" Das funktioniert auch ganz gut.

Nun zu unserem Problem.
Die lokalen Drucker an den PCs in den Räumen müssen erstmal installiert werden. Sprich "neuen Drucker hinzufügen -> P&P Drucker suchen->fertig" anschließend noch "Rechtsklick auf Drucker->Freigabe->im Netzwerk freigeben->Freigabename (sowie wir ihn im FOG bennant haben)". Dann ist er installiert und freigegeben. Nun können die restlichen Clients im Raum auch auf den Drucker drucken. Nun wollte ich diese letzten beiden Schritte automatisieren, sprich Clients werden geimaged, die Clients mit ihrem lokalen Drucker installieren ihn und geben ihn anschließend frei.
Ich habe mich mittlerweile dusselig gesucht, jedoch konnte das Problem, wie ich es habe, nicht gelöst werden. Wenn jemand ein Command / Script kennt mit dem man "Suche nach lokalen Drucker, installiere ihn mit XY:inf und gebe ihn frei unter dem Namen "XY" " aussführen kann, wäret Ihr meine Rettung.
Nicht retten tut Ihr mit der Aussage: Kauf die Netzwerkdrucker ;)
Dies wäre die letzte Alternative, die ich meinem knausrigen Chef erstmal beipulen müsste. face-smile

MfG,
Chris

Content-Key: 151446

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

Printed on: April 25, 2024 at 16:04 o'clock

Mitglied: 72417
72417 Sep 21, 2010 at 12:45:38 (UTC)
Goto Top
Okay, nach längerem Herumgeteste habe ich es nu soweit gepackt.

Hier das Kommando, um einen Drucker zu installieren per .inf Datei und anschließender Freigabe unter dem installierten Namen:

rundll32 printui.dll,PrintUIEntry /if /b "DRUCKERNAME/FREIGABENAME" /f DATEIPFAD UND NAME DER .INF /r "PORT DES ANSCHLUSSES" /m "MODELNAME DES DRUCKERS"

Ein Beispiel:

rundll32 printui.dll,PrintUIEntry /if /b "Drucker_0551" /f %windir%\druckertreiber\oki\5450n\OK72s2lu.inf /r "usb001" /m "OKI C5450n(PCL)"

Wichtig ist, dass die Anführungszeichen auch gemacht werden, lediglich bei der Pfadangabe zur .inf Datei dürfen sie nicht dabei sein. Ich habe im Beispiel also einen Drucker mit dem Namen Drucker_0551 installiert und freigeben über die .inf Treiberdatei C:\WINDOWS\druckertreiber\oki\5450n\OK72s2lu.inf, welcher an dem USB001 Port hängt. Das Model (ebenfalls nötig) ist ein OKI C5450n(PCL).

Die nächsten Schritte nun sind, da wir 1 Master Image haben, ein Script zu entwickeln, welches checkt, in welchem "Raum" sich der Drucker befindet. Denn bei uns hat jeder Raum 1 (lokalen) Drucker.

Die Idee ist:
Nach dem Booten führt Windows automatisch als Admin ein Script aus, welches checkt, welche IP der Client hat und dann eine Schleife durchläuft.

Beispiel:
Drucker installieren in Raum 0553 an Client 15 (IP:10.1.1.25)
check my IP
if -> my ip is = 10.1.1.15
{ rundll32 printui.dll,PrintUIEntry /if /b "Drucker_0551" /f %windir%\druckertreiber\oki\5450n\OK72s2lu.inf /r "usb001" /m "OKI C5450n(PCL)"
}
else
{
do nothing
}
if my ip is = 10.1.1.20
{
rundll32 printui.dll,PrintUIEntry /if /b "Drucker_0552" /f %windir%\druckertreiber\oki\5450n\OK72s2lu.inf /r "usb001" /m "OKI C5450n(PCL)"
}
else
{
do nothing
}
if my ip is = 10.1.1.25
{
rundll32 printui.dll,PrintUIEntry /if /b "Drucker_0553" /f %windir%\druckertreiber\oki\5450n\OK72s2lu.inf /r "usb001" /m "OKI C5450n(PCL)"
}
else
{
do nothing
}


Ich weiß, dass ich die VB Sprache nicht kann ;)
Das Beispiel soll lediglich zeigen was ich will. ^^
Also, IP checken->Schleife durchlaufen bis die gewünschte IP dabei ist und dann das Kommando ausführen.
Das bekomme ich aber auch noch hin und melde mich hier zurück.

Vielleicht habe ich ja wem geholfen, echt n dämliches Problem.

MfG,
Chris