damike
Goto Top

Windows 2003 - login.bat - Drucker in Gruppen

Verschieden Benutzer anhand der Gruppe einen Drukcer zuweisen, aber bei mehreren Gruppen nur einen als Standard.

Ich habe in unserem System in der login.bat ein Script eingebaut, dass bei den Benutzer anhand der Gruppe bestimmte Drucker installiert und ggf. einen davon als Standarddrucker setzt.

Mein Problem an der Sache ist halt, dass wir einige Benutzer haben, die sich in mehreren Gruppen befinden, aber einen ganz bestimmten Drucker als Standard haben sollen.

Kann ich da in einer Art und Weise eine Rangfolge oder so etwas vergeben für die Drucker ? Oder wie kann ich das Problem elegant lösen ?

So sieht bei mir das Script aus, um einen Drucker für eine bestimmte Gruppe zu adden:

rem ----------------------------------------------------------------------
if exist c:\debug.mod ECHO --- Nur Gruppe: CADUSER -------
%logonserver%\netlogon\tools\ifmember "xxx\CADUSER"
if not errorlevel=1 goto printnogrp01
%windir%\system32\rundll32.exe printui.dll,PrintUIEntry /in /n \\xxx\Printer1
%windir%\system32\rundll32.exe printui.dll,PrintUIEntry /in /n \\xxx\Printer2
%windir%\system32\rundll32.exe printui.dll,PrintUIEntry /in /n \\xxx\Printer3
%windir%\system32\rundll32.exe printui.dll,PrintUIEntry /y /n \\xxx\Printer2
:printnogrp01
rem ----------------------------------------------------------------------

Ich danke schonmal im Vorraus.

MfG damike

Content-Key: 38245

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

Printed on: April 19, 2024 at 18:04 o'clock

Member: MonsterX
MonsterX Aug 18, 2006 at 05:44:55 (UTC)
Goto Top
Vom Prinzip her so:

If User in Gruppe1 then
add printer 1
else if User in Gruppe 2 then
add printer 2
else if ...
...
end if

Wenn ein User in Gruppe 1 und 2 ist, dann erhält er trotzdem nur den Drucker von Gruppe 1. In diesem Fall heißt das, je weiter oben die Gruppe abgefragt wird, desto höher ist deren Priorität.

Gruß,
Denis
Member: damike
damike Aug 18, 2006 at 05:47:56 (UTC)
Goto Top
Das ist schonmal garnicht schlecht nur haben wir ca 100 Gruppen und das genau richtig verschachteln und priorisieren ist da doch schon sehr viel aufwand.

Es ist halt so, dass das nicht oft vorkommt, dass ein Benutzer zum Beispiel Einkauf und Verkauf als Gruppe hat. Dieser Benutzer bekommt die Drucker aus beiden Gruppen nur soll er, wenn er im Einkauf sitzt auch den Drucker als Standart bekommen.
Member: MonsterX
MonsterX Aug 18, 2006 at 05:55:44 (UTC)
Goto Top
Mein Problem an der Sache ist halt, dass wir einige Benutzer haben, die sich in mehreren Gruppen befinden, aber einen ganz bestimmten Drucker als Standard haben sollen.

Also kann man eigentlich auch nicht sagen, dass man die Drucker auf eine Prioritätsliste schreiben kann, sondern, dass es wirklich nur userabhängig ist. Zum Beispiel hast du 2 User die in der Gruppe Einkauf und Verkauf sind. Jedoch soll der eine den Einkauf-Drucker erhalten und der andere den Verkauf-Drucker. Ist das auch ein mögliches Szenario bei dir?

In solch einem Fall müßtest du in deinem Startup-Skript nämlich bevor du die Drucker den Gruppen zuordnest noch eine spezielle Abfrage für alle Ausnahme-Benutzer machen. Fällt ein Benutzer dann in diese Ausnahme-Regelung soll ihm kein weiterer Drucker hinzugefügt werden.

//edit
Frage: Wieviele solcher Ausnahmen werden es denn womöglich sein?
Member: Bandit600
Bandit600 Aug 18, 2006 at 05:58:36 (UTC)
Goto Top
von der reinen logik her würd ich sagen, dass es am schnellsten per if-else geht...
bei 100 gruppen ist das zwar ein ziemlicher aufwand, aber bevor du irgendwelche komplizierte funktionen hast, bei der du für jeden einen spezialfall beachten musst, ist es so am besten.. oder halt die direkte zuweisung nach computer...
Member: damike
damike Aug 18, 2006 at 06:10:05 (UTC)
Goto Top
@MonsterX: Ja diesen Fall gibt es bei uns zum Beispiel auch.

Mit IF-ELSEIF-ELSE könnte ich aber dann auch das IFELFE endlos durchschleifen ?
Member: MonsterX
MonsterX Aug 18, 2006 at 06:39:10 (UTC)
Goto Top
Ja das wäre möglich. Aber wie's aussieht kannst du in deinem Fall ja nicht nur Drucker-Prioritäten setzen, sondern mußt den Usern (die Ausnahmen meine ich) die Drucker einzeln zuweisen.
Member: DaSam
DaSam Aug 18, 2006 at 08:16:48 (UTC)
Goto Top
Hi,

das mit der Rangfolge verstehe ich jetzt nicht so ganz ... aber mit dem Aufruf kannst Du ja mit dem Parameter /y den Standarddrucker einrichten - das kann aber nur einer sein, und zwar IMHO der letzte, der als Standarddrucker definiert wurde (wie bei der GUI halt auch).

Ansonsten würde ich ein Konstrukt ala if %USERNAME% == "DASCHORSCH" ... seinen Standarddrucker

oder anders rum, die Leute anhand Ihrer Standarddrucker auch in Gruppen einsperren und dort anhand der Gruppenmitgliedschaft den Standarddrucker setzen.

BTW: damike, bist Du aus München?

cu,
Alex