flabs
Goto Top

Standarddrucker automatisch anhand der Variable Clientname festlegen

Moin,


ich habe folgende umgebung

w2k8r2 AD

w2k8r2 RDS auf dem 15 Netzwerkdrucker als lokale Drucker über Std IP Anschlüsse verbunden sind. Als Thin Client kommen IGEL zum Einsatz, die Igel haben einen eindeutigen Hostname und füllen beim Verbinden mit dem Terminal Server die Variable
%Clientname% mit ihrem Hostname.

Ich möchte nun das den Thinclients ein definierter default Drucker, unabhängig von dem Benutzer der sich an dem Client anmeldet, zugewiesen wird.

Folgendes könnte ich mir vorstellen

1 txt Datei in der ich pro Zeile einen ThinClient Name hinterlege z.b.
TC01
TC02
TC03

1 txt Datei in der pro Zeie ein Druckername hinterlegt ist


dann ein script oder GPO o.ä. welches die Variable ausliest und entsprechend den Drucker setzt


if %clientname%=TC01 set defaultprinter = Dr02


Ich habe bereits gegoogelt aber noch nicht die Lösung gefunden die zu mir passt

Danke für die Unterstützung

Content-Key: 188765

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

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

Member: Hubert.N
Hubert.N Jul 29, 2012 at 12:11:33 (UTC)
Goto Top
Moin

Ich habe bereits gegoogel

also ein wenig nachdenklich macht mich das dann ja doch...

Ich weiß ja nicht, welche Suchbegrigffe du da eingibst, aber wenn ich nach "standarddrucker script setzen" suche, bekomme ich schon mal passende Antworten...

Aber ums dir einfach zu machen:
rundll32 printui.dll,PrintUIEntry /y /n "Drucker"   

Gruß
Member: flabs
flabs Jul 29, 2012 at 12:31:03 (UTC)
Goto Top
Danke so schlau bin ich auch schon,

ich wollte eingentlich wissen wie ich es hinbekomme die Werte gepflegt in einer txt datei in ein script einlese, damit ich nich 5000 Zeilen logon script habe nur für die Drucker zuordnung
Member: pieh-ejdsch
pieh-ejdsch Jul 29, 2012 updated at 12:50:05 (UTC)
Goto Top
moin flabs,

wenn Du schon Pro Client eine Druckerzuweisung machen willst, dann doch gleich alles in eine Datei zum Verwalten Packen.

Entweder in eine TXT oder in den Batch.
Da die TXT gleich Zentral abgerufen werden kann und auch Wartbarer ist - in etwa so:
;"\\ServerName\Druckerzuweisungs.txt"  
;Printer=Hostname(Client)
Dr02=TC01
Dr03=TC02
;etc

im Script
@echo off
for /f "delims==" %%i in ('findstr /e "=%clientname%" "\\ServerName\Druckerzuweisungs.txt" ') do rundll32 printui.dll,PrintUIEntry /y /n "%%i"  
exit /b

Gruß Phil
Member: Kritzkratz
Kritzkratz Jul 29, 2012 at 15:56:05 (UTC)
Goto Top
Member: bastla
bastla Jul 29, 2012 updated at 16:14:08 (UTC)
Goto Top
... oder, soferne auch die Zurodnung mehrerer Drucker ein Thema wäre:
;"\\ServerName\Druckerzuweisungs.txt"  
;Hostname(Client)=Printer[,Printer]
TC01=Dr01
TC02=Dr02,Dr03
;etc
Dann:
@echo off & setlocal
for /f "tokens=1* delims==" %%i in ('findstr /b "%clientname%=" "\\ServerName\Druckerzuweisungs.txt" ') do (  
    for %%a in (%%j) do rundll32 printui.dll,PrintUIEntry /y /n "%%a"  
)
wobei dann der gewünschte Standarddrucker in der "Druckerzuweisungs.txt" am Ende der jeweiligen Zeile stehen sollte ...
Soferne sich das organisatorisch umsetzen lässt, könnte ev der Drucker aus (einem Teil) der Rechnernummer abgeleitet werden - wenn etwa die 3. Stelle für ein Stockwerk steht etc ...

Im einfachsten Fall (nur lfd Nummer) bei Bedarf auch für mehrere Drucker:
if "%clientname%" leq "TC04" set "Drucker=Dr01" & goto :Zuweisung  
if "%clientname%" leq "TC09" set "Drucker=Dr02,Dr03" & goto :Zuweisung  
if "%clientname%" leq "TC12" set "Drucker=Dr03,Dr04" & goto :Zuweisung  
goto :eof

:Zuweisung
for %%a in (%Drucker%) do printui.dll,PrintUIEntry /y /n "%%a"  

Grüße
bastla
Member: flabs
flabs Jul 29, 2012 at 17:57:58 (UTC)
Goto Top
Moin,

danke für all die Tipps und Anregungen ich werde sie morgen mal testen.

Druckerzuweisung ist nich so ganz das richtige Wort, denn es gibt keinen zentralen Printserver z.B. \\printserver\drucker1, sondern es wird der printserver des jeweiligen druckers verwendet und werden direkt mit dem Terminal server über IP Anschlüsse verbunden, so sieht jeder user alle Drucker und kann direkt darauf drucken, es geht nur darum den thinclients automatisch den physikalisch am nächsten gelegenen Drucker als Stanarddrucker zu geben, damit die wechelnden Benutzer an den THinclients nicht immer anrufen, mein Druck kommt nicht raus, weil der Stanarddrucker nicht stimmt