pascal10x
Goto Top

Drucker per Default für jeden user verbinden

Terminal Server und mehrer User

hallo,

Wie kann ich machen, dass jeder User vom Terminal Server wenn er sich anmeldet die gleichen Drucker hat.
Bzw wo kann ich das Einstellen das wenn der User sich anmeldet er die Standarddrucker verbunden bekommt ohne das ich jeden drucker bei jedem user einzeln eitnragen muss?
per Script funktioniert nicht da kracht es irgendwie mit unserem Logon-Script bei dem wir aber die Drucker nicht mit einbinden wollen.
Kann man das über die Registry machen oder gibts andere wege?

Hoff ihr könnt mir helfen

Content-ID: 147264

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

Ausgedruckt am: 24.11.2024 um 05:11 Uhr

BigWim
BigWim 21.07.2010 um 08:20:50 Uhr
Goto Top
per Script funktioniert nicht da kracht es irgendwie mit unserem Logon-Script ...
Wäre mal interessant, was "irgendwie" bedeutet.

Logon-Script bei dem wir aber die Drucker nicht mit einbinden wollen vs Drucker per Default für jeden user verbinden
Naja, vielleicht bin ich ja zu einfach gestrickt, aber für mich beißt sich das.


Ob empfehlenswert weiß ich nicht, aber vielleicht in HKLM\Software\Microsoft\WindowsNT\WinLogon ->UserInit eine Option. Dort kannst Du ja Dein Drucker-Verbindungsscript einfügen ...

Markus
Pascal10x
Pascal10x 21.07.2010 um 08:24:39 Uhr
Goto Top
Ich kann dir leider nicht genau sagen was es für ein problem gibt mit dem Logon-Script weil es ein Kollege gemacht hat der gekündigt hat und der scheis jetzt an mir hängen bleibt.

Wäre es eine Lösung es so zu machen?:

Ich erstell einen Task wo ein seperates Script bei Anmeldung gestartet wird bei dem die Drucker verbunden werden? Also das 2 Skripte bei anmeldung laufen (Netzlaufwerke und Drucker)?
BigWim
BigWim 21.07.2010 um 08:32:45 Uhr
Goto Top
Was meinst Du jetzt mit Task?

Also ich sehe nur diese Möglichkeiten:

  • direkt einbinden ins Loginscript
Standard - zumindest bei uns

  • aus dem Loginscript ein weiteres Script starten.
Eher unschön

  • Sich über den RegKey ins Loginprocedere von Windows einklinken
Pflegeaufwand - Anzahl TS?

  • Dem User einen Aufruf ins Startmenü hinstellen, welches das Script ausführt
keine Automatik, dafür variantenreicher, wenn man es denn braucht

Markus
Pascal10x
Pascal10x 21.07.2010 um 08:49:16 Uhr
Goto Top
Mit Task meine ich einen Windows Task (Aufgabenplanung)

Ins Logonscript ist ein Problem, da wir nur einzelne User haben die auf den TS dürfen und haben ein Logonscript für alle User(TS und Domäne). Und da gibt es 10 Drucker und es sollen nur 4 Stück für den TS verbunden werden. Das ist ja mein Problem sonst würd ich das auch so machen.
Connor1980
Connor1980 21.07.2010 um 08:53:02 Uhr
Goto Top
Zitat von @Pascal10x:
Ich kann dir leider nicht genau sagen was es für ein problem gibt mit dem Logon-Script weil es ein Kollege gemacht hat der
gekündigt hat und der scheis jetzt an mir hängen bleibt.

Hallo,

nur so ein Gedanke:
wäre es dann nicht sowieso angebrachter sich das Script mal zu analysieren, und zu dokumentieren und da zu überlegen wo das Problem auf dem TS damit sein könnte?

Grüße
BigWim
BigWim 21.07.2010 um 09:05:27 Uhr
Goto Top
Zitat von @Pascal10x:
Mit Task meine ich einen Windows Task (Aufgabenplanung)
Gut, den habe ich noch nie in Betracht gezogen. Und den kannst Du einstellen: "Nur laufen bei Login"?
Ich habe da kein gutes Gefühl ....

Ins Logonscript ist ein Problem, da wir nur einzelne User haben die auf den TS dürfen und haben ein Logonscript für alle
User(TS und Domäne).
Ja, und? Das läßt sich doch abfragen. Wir haben auch nur ein LoginScript und ich muß reagieren: Notebook, Workstation, Thinclient, Server, ...

Läuft euer Script mit "Batch" oder einer anderen Scriptsprache?

Hier mal ein kleine Beispiel, wie ich unsere (Citrix)-TS erkenne. Scriptsprache ist kix
	if exist("C:\Programme\Citrix\System32\wfapi.dll")  
		shell 'cmd.exe /c $ToolPfad\icaclientinfo.exe >>$tmpFile 2>NUL:'  
	endif
Mit diesem CitrixTool erfahre ich einiges über die Session. Aber es gibt bestimmt noch ein zwei Dinge mehr, woran man einen Terminalserver erkennt ....

Markus
Pascal10x
Pascal10x 21.07.2010 um 15:12:49 Uhr
Goto Top
Also wir haben ein Batch-Script. Dies sieht wie folgt aus:
@echo off

color 17

echo ************************************
echo *                                  *
echo *   Bitte warten bis sich das      *
echo * Fenster von selbst schliesst !!  * 
echo *Ihre Laufwerke/Drucker werden nun *
echo *       automatisch erfasst.       *
echo *                                  * 
echo ************************************

if %username% == administrator goto bginfo
goto noadmin

:bginfo
%logonserver%\netlogon\utils\bginfo /all /timer:0

:noadmin
if %computername% == rts01wxp goto notime
net time \\RTS01wxp /SET /YES

:notime
if %computername% == rts01wxp goto nodel
if %computername% == rts02wxp goto nodel
if %computername% == rts03wxp goto nodel
if %computername% == rts04wxp goto del
if %computername% == rts05wxp goto nodel
if %computername% == rts07w2k goto nodel

:del
net use x: /d /y
net use d: /d /y
net use e: /d /y
net use f: /d /y
net use g: /d /y
net use h: /d /y
net use i: /d /y
net use j: /d /y
net use k: /d /y
net use l: /d /y
net use m: /d /y
net use n: /d /y
net use o: /d /y
net use p: /d /y
net use q: /d /y
net use r: /d /y
net use s: /d /y
net use t: /d /y
net use u: /d /y
net use v: /d /y
net use w: /d /y
net use y: /d /y

:nodel
%logonserver%\netlogon\utils\ifmember enteco-gmbh\gl
if not errorlevel 1 goto nogl
net use h: \\RTS07WXP\GL /PERSISTENT:YES
:nogl

%logonserver%\netlogon\utils\ifmember enteco-gmbh\Assistenz
if not errorlevel 1 goto noassistenz
net use q: \\RTS07WXP\Assistenz /PERSISTENT:YES
:noAssistenz

%logonserver%\netlogon\utils\ifmember enteco-gmbh\einkauf
if not errorlevel 1 goto noeinkauf
net use i: \\RTS07WXP\einkauf /PERSISTENT:YES
:noeinkauf

%logonserver%\netlogon\utils\ifmember enteco-gmbh\vertrieb
if not errorlevel 1 goto novertrieb
net use j: \\RTS07WXP\vertrieb /PERSISTENT:YES
:novertrieb

%logonserver%\netlogon\utils\ifmember enteco-gmbh\Vertriebsprotokolle
if not errorlevel 1 goto noVertriebsprotokolle
net use v: \\rts07wxp\Vertriebsprotokolle /PERSISTENT:YES
:noVertriebsprotokolle

%logonserver%\netlogon\utils\ifmember enteco-gmbh\Marketing
if not errorlevel 1 goto noMarketing
net use v: \\RTS07WXP\Marketing /PERSISTENT:YES
:noMarketing

%logonserver%\netlogon\utils\ifmember enteco-gmbh\Allgemein_LW
if not errorlevel 1 goto noAllgemein_LW
net use k: \\RTS07WXP\Allgemein /PERSISTENT:YES
:noAllgemein_LW

%logonserver%\netlogon\utils\ifmember enteco-gmbh\lexware
if not errorlevel 1 goto nowws
net use l: \\RTS45WXP\Lexware /PERSISTENT:YES
:nowws

%logonserver%\netlogon\utils\ifmember enteco-gmbh\projekte
if not errorlevel 1 goto noprojekte
net use m: \\RTS07WXP\projekte /PERSISTENT:YES
:noprojekte

%logonserver%\netlogon\utils\ifmember enteco-gmbh\azubies
if not errorlevel 1 goto noazubies
net use p: \\RTS07WXP\azubis /PERSISTENT:YES
:noazubies

%logonserver%\netlogon\utils\ifmember enteco-gmbh\verwaltung
if not errorlevel 1 goto noverwaltung
net use o: \\rts07wxp\verwaltung /PERSISTENT:YES
:noverwaltung

%logonserver%\netlogon\utils\ifmember enteco-gmbh\Recruiting_lw
if not errorlevel 1 goto noRecruiting
net use u: \\rts07wxp\1_Recruiting /PERSISTENT:YES
:noRecruiting

%logonserver%\netlogon\utils\ifmember enteco-gmbh\staffit
if not errorlevel 1 goto nostaffit
net use t: \\rts03wxp\staffitpro /PERSISTENT:YES
net use n: \\rts06wxp\karriere$ /PERSISTENT:YES
net use w: \\rts06wxp\de /PERSISTENT:YES
net use s: \\rts21os\stellenboerse auctores /USER:auctores /PERSISTENT:YES
:nostaffit

%logonserver%\netlogon\utils\ifmember enteco-gmbh\apps
if not errorlevel 1 goto noswarchiv
net use y: \\RTS07WXP\apps /PERSISTENT:YES
:noapps

%logonserver%\netlogon\utils\ifmember enteco-gmbh\swarchiv
if not errorlevel 1 goto noswarchiv
net use x: \\RTS07WXP\swarchiv /PERSISTENT:YES
:noswarchiv

%logonserver%\netlogon\utils\ifmember enteco-gmbh\Starmoney
if not errorlevel 1 goto noStarmoney
net use g: \\RTS08WXP\starmoney /PERSISTENT:YES
:noStarmoney

goto end

:end


Hiermit kann ich ja meine Drucker verbinden mit dwem Tool Con2prt im Logon-Script aber da werden ja für alle user die Drucker verbunden (Domäne/TS):

REM #################################
REM # Drucker Verbinden mit con2prt #
REM #################################

REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK01"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK02"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK03"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK3"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK04"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK07"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK7"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK08"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK09"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK13"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK27"  
REM %logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK97"  
Pascal10x
Pascal10x 21.07.2010 um 15:39:16 Uhr
Goto Top
Also habs jetzt ganz einfach gelöst.

habe in dem Script nach den Laufwerken folgendes eingetragen:

if %computername% == rts04wxp goto printers
:end
:printers

if %username% == ??? goto printer-chef


echo ####################################
echo # Netzwerkdrucker werden verbunden #
echo ####################################

%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK3"
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK03"
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK05"
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK07"


goto end

:end

:printer-chef

echo ####################################
echo # Netzwerkdrucker werden verbunden #
echo ####################################

%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK3"
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK03"
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK05"
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK04"
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK07"

goto end

:end

Das printer Chef ist nur für unsern Cheffe weil er möchte das nur er den Drucker verbunden bekommt deswegen die Lösung...
Was haltet ihr davon?
Connor1980
Connor1980 21.07.2010 um 15:58:44 Uhr
Goto Top
Hallo,

biem schnellenübberfliegen fällt mir auf:
also entweder hast du da ein Copy&Paste Fehler, oder das script kann so nicht wie gewollt funktionieren. Du hast mehrere gleichlautende Sprunkmarken,
der erste Vergleich auf Computernamen ist so wie geschrieben überflüssig. Es werden alle alle Drucker bekommen ...

Soll nur der Chef Drucker bekommen, oder soll der Chef nur den Drucker 04 bekommen , oder soll nur der Chef den Drucker 04 bekommen???
Und wie verhält es sich mit dem Rest der User und Drucker? Ein bisschen Prosa deinerseits wäre an der Stelle hilfreich.

Den Code kannst du hier übrigens gesondert formatieren, das macht es besser lesbar.

Grüße
Pascal10x
Pascal10x 21.07.2010 um 20:44:58 Uhr
Goto Top
Welchen Vergleich computername meinst du?
Ja der Chef soll zusätzlich den Druck04 bekommem
BigWim
BigWim 22.07.2010 um 10:16:34 Uhr
Goto Top
Zitat von @Pascal10x:
Welchen Vergleich computername meinst du?
Ja der Chef soll zusätzlich den Druck04 bekommem

Ebenfalls schnell überfolgen und würde mal so testen

  • grundsätzliches Druckermapping für alle
  • Chef zusätzlich Drucker4

echo ####################################
echo # Netzwerkdrucker werden verbunden #
echo ####################################

%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK3"  
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK03"  
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK05"  
%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK07"  

if %username% == ??? goto printer-chef
goto end


:printer-chef

echo ####################################
echo # Chef, Dein Netzwerkdrucker auch                  #
echo ####################################

%logonserver%\netlogon\Utils\con2prt /c "\\RTS01WXP\DRUCK04"  
goto end

:end

Und vielleicht noch eins zum Laufwerkmapping. Wenn ich nichts übersehen haben, sind alle Laufwerksbuchstaben außer A: und C: dabei.

Das kannst Du auch so lösen
net use * /d /y

Viele Grüße
Markus