zugegeben, ich kenn mich mit servergespeicherten Profilen nicht aus, aber wie währe es mit:
Code:rundll32.exe printui.dll,PrintUIEntry /?
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:
verborgener Text:
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
Anzeige
zugegeben, ich kenn mich mit servergespeicherten Profilen nicht aus, aber wie währe es mit:
Code:rundll32.exe printui.dll,PrintUIEntry /?
...sonst könntest du dich ggfs. auch nochmal mit WMI beschäftigen:
WMI Tasks: Printers and Printing (Windows)
So, ich habe das Skript angepasst und getestet: Es funktioniert!
Danke noochmal für die Hilfe!
Code::: keine Befehlsausgabe ECHO off :: >>>Variablen<<< :: Abteilungs PC gleich Computername SET AbteilungA=ComputernameA SET AbteilungB=ComputernameB :: Abteilungs Drucker gleich Druckername SET PrinterA=\\DruckserverA\DruckerA SET PrinterB=\\DruckserverB\DruckerB :: >>>Standarddrucker fetlegen<<< :: Wenn der aktuelle Computername einem der festgelegten Computernamen entspricht, wird der zugehörige Drucker als Standarddrucker eingerichtet. IF %COMPUTERNAME%==%AbteilungA% ( rundll32 printui.dll,PrintUIEntry /y /n %PrinterA% ECHO Willkommen im AbteilungA. Ihr Standarddrucker lautet: %PrinterA% ) IF %COMPUTERNAME%==%AbteilungB% ( rundll32 printui.dll,PrintUIEntry /y /n %PrinterB% ECHO Willkommen im AbteilungB. Ihr Standarddrucker lautet: %PrinterB% )