tobim1986
lebt
Hallo zusammen,
folgende Situation (Windows Domäne, Servergespeicherte Profile, WinXP): Ich arbeite derzeit an zwei PCs in zwei Unterschiedlichen Abteilungen. In letzter Zeit passiert es mir öfters, das ich einfach mal auf Drucken klicke und die Datei ca. zwei km entfernt auf dem Drucker der anderen Abteilung landet. Alles kein Problem, schreibe ich mir halt ein Script, das beim Anmelden den Standarddrucker ändert.
Zuerst soll der Computername ausgelesen werden. Sitze ich an dem PC in Abteilung A, wird Drucker A zum Standard. Abteilung B, Drucker B. Melde ich mich an einem anderen PC an, wird nichts umgestellt. Eigentlich logisch.
Leider habe ich vom Scripten nicht all zu viel Ahnung. In VBS müsste ich mich erst einarbeiten, aber ein Batchfile ist ja schnell geschrieben:
Das Script ist kurz und funktioniert - wenn man Admin ist.
Problem an der Sache ist der Scripthost. Wir verwenden im Unternehmen für unsere Scripte WScript, der Befehl prnmngr funktioniert nur mit CScript. Also muss ich den Scripthost zu Beginn und Ende des Scripts umstellen. Dazu benötigt man (lokale) Admin-Rechte. Allerdings wird nicht immer mit Adminrechten gearbeitet - warum sollte wohl klar sein.
Jetzt suche ich nach einer alternativen Lösung. Entweder vbs oder Änderugen an meinem Batch-File. Hat jemand ne Idee.
ot:
Wenn jemand mein Script gebrauchen kann, viel Spaß damit, ihr müsst nur PC_A und PC_B in den Variablen AbeilungA und AbteilungB durch den Computernamen erstezen und natürlich die Druckernamen (Die könnte man auch noch in VAriablen packen...) ändern.
Danke und Gruß
tobim1986
folgende Situation (Windows Domäne, Servergespeicherte Profile, WinXP): Ich arbeite derzeit an zwei PCs in zwei Unterschiedlichen Abteilungen. In letzter Zeit passiert es mir öfters, das ich einfach mal auf Drucken klicke und die Datei ca. zwei km entfernt auf dem Drucker der anderen Abteilung landet. Alles kein Problem, schreibe ich mir halt ein Script, das beim Anmelden den Standarddrucker ändert.
Zuerst soll der Computername ausgelesen werden. Sitze ich an dem PC in Abteilung A, wird Drucker A zum Standard. Abteilung B, Drucker B. Melde ich mich an einem anderen PC an, wird nichts umgestellt. Eigentlich logisch.
Leider habe ich vom Scripten nicht all zu viel Ahnung. In VBS müsste ich mich erst einarbeiten, aber ein Batchfile ist ja schnell geschrieben:
Code:
:: Keine Ausgabe der Befehle
ECHO off
:: Scripthost ändern (notwendig für prnmngr)
CScript //H:CScript //S
:: Computernamen Festlegen, werden einmalig im Script eingetragen
SET AbteilungA=PC_A
SET AbteilungB=PC_B
:: Wenn der PC aus Abteilung B , benutzt wird, dann...
IF %COMPUTERNAME%==%AbteilungA% (
ECHO "Willkommen in AbteilungA"
:: ...wird der folgende Drucker als Standard definiert:
prnmngr -t -p \\printserver1\printerA
) ELSE (
:: Wenn der PC aus Abteilung B , benutzt wird, dann...
IF %COMPUTERNAME%==%AbteilungB% (
ECHO "Willkommen im AbteilungB"
:: ...wird der folgende Drucker als Standard definiert:
prnmngr -t -p \\printserver2\printerB
) ELSE (
:: Falls an keinem der Beiden festgelegten PCs gearbeitet wird, wird nur der derzeitge Standard-Drucker ausgegeben
ECHO "Sie sind nicht an ihrem Standard-PC im AbteilungA oder AbteilungB angemeldet. Ihr Standard-Drucker wird nicht geändert."
prnmngr -g
)
)
:: Scripthost ändern
CScript //H:WScript //S
Das Script ist kurz und funktioniert - wenn man Admin ist.
Problem an der Sache ist der Scripthost. Wir verwenden im Unternehmen für unsere Scripte WScript, der Befehl prnmngr funktioniert nur mit CScript. Also muss ich den Scripthost zu Beginn und Ende des Scripts umstellen. Dazu benötigt man (lokale) Admin-Rechte. Allerdings wird nicht immer mit Adminrechten gearbeitet - warum sollte wohl klar sein.
Jetzt suche ich nach einer alternativen Lösung. Entweder vbs oder Änderugen an meinem Batch-File. Hat jemand ne Idee.
ot:
Wenn jemand mein Script gebrauchen kann, viel Spaß damit, ihr müsst nur PC_A und PC_B in den Variablen AbeilungA und AbteilungB durch den Computernamen erstezen und natürlich die Druckernamen (Die könnte man auch noch in VAriablen packen...) ändern.
Danke und Gruß
tobim1986