Jump to content
Sign in to follow this  
jmuonline

Standard-Drucker per Loginskript

Recommended Posts

Hallo zusammen

ich stehe vor einem Problem, hoffe jemand kann mir dabei weiterhelfen.

 

Folgende Situation:

Wir sind eine Schule mit mehreren Schulzimmern.

In jedem Zimmer befindet sich einen Drucker.

 

Problem:

Wir haben benutzer, die sich in verschiedenen Schulzimmern anmelden.

Dabei müsste in jedem einzelnen Schulzimmer einen Standard-Drucker

sein.

 

Also:

Nehmen wir an, wir haben 2 Schulzimmern (Zimmer 1, Zimmer 2).

Benutzer geht ins Schulzimmer 1 und meldet sich dort an. Dann müsste sein momentaner Standard-Drucker der vom Zimmer 1 sein.

 

Dann geht der Benutzer ins Schulzimmer 2, um meldet sich dort auch an. Dann müsste

logischerweise der Standard-Drucker, der vom Zimmer 2 sein.

 

Lösung:

Meiner Meinung nach müsste die Lösung wie folgt sein:

 

Im Loginskript abfragen, in welcher OU der PC sich befindet wo sich der User befindet. Dann anhang davon, müsste der Standard-Drucker gesetzt werden.

 

Kann mir jemand helfen, oder mir einen Tipp geben?

 

Vielen Dank.

 

Grüsse

jmuonline

Share this post


Link to post

Die Rechner von Zimmer 1 in eine OU, die Rechner von Zimmer 2 in eine andere OU. In beide OUs je eine Richtlinie linken, in der die Loopbackverarbeitung auf Zusammenführen steht und in der ein Anmeldescript ausgeführt wird. Im Script dann rundll32 printui.dll,PrintUIEntry ...

Share this post


Link to post

Hallo IThome, danke für die schnelle Antwort. Dein Lösungsvorschlag habe ich bereits ausprobiert, geht leider nicht. Jedesmal bei booten der Clients kommt eine Fehlermeldung wegen dem Drucker.

 

Das Problem ist, dass der Drucker nicht als Standard gesetzt werden kann BEVOR der User angemeldet wird.

 

Andere Vorschläge?

 

Danke für die Antwort.

 

Grüsse

jmuonline

Share this post


Link to post

So mache ich das auch, das klappt wunderbar. Ich rede von Anmeldescript (der User ist also angemeldet), nicht Computerstartscript. Loopbackverarbeitung war aktiv ?

Share this post


Link to post

Loopbackverarbeitung bewirkt, dass Benutzereinstellungen auf bestimmten Computern angewendet werden (wie z.B. auf Terminalservern). Die Loopbackeinstellung findest Du in der Computerkonfiguration - Administrative Vorlagen - System - Gruppenrichtlinien - "Loopbackverarbeitungsmodus für Benutzergruppenrichtlinie". Die aktivierst Du und konfigurierst auf Zusammenführen. Im selben GPO definierst Du in der Benutzerkonfiguration ein entsprechendes Anmeldescript. So machst Du es in beiden OUs, in denen sich die Computerkonten der jeweiligen Rechner befinden, nicht die Benutzerkonten ...

Share this post


Link to post

Hallo ITHome

 

Ich hätte da auch noch einige Zusatzfragen.

 

1. Wie sieht Dein Skript genau aus? Wenn ich das Skript normal mit printui... erstelle, funktioniert es nicht richtig. Der Standarddrucker wird mit der Option /y einfach nicht zugewiesen. Soll ich zuerst alle Drucker löschen oder hast Du mir hier einen Tipp?

 

2. Das Skrip hast Du auch unter Start-Skripts in den Computer-Richtlinien eingebunden oder?

 

3. Bei Start dauert das Laden der Computer-Richtlinien ewig, liegt das an der Loopbackverarbeitung?

 

Danke für die Infos im voraus.

 

Gruss

egomat

Share this post


Link to post

NICHT die Computerrichtlinien (nur für die Loopbackverarbeitung), die BENUTZERRICHTLINIEN und ein Anmeldescript benutzen. Aus diesem Grund wird ja Loopbackverarbeitung konfiguriert, damit die Benutzer, die sich an einem Rechner anmelden, der sich in der Reichweite der Richtlinie befindet, dieses ANMELDESCRIPT zugewiesen bekommen ...

Share this post


Link to post

Hallo,

 

setze doch ein VBS-Script ein.

Einfach am Client in den Startscripts eintagen!

 

 

hier der Inhalt der VBS

' VBScript source code
'
Dim net
Set net = CreateObject("WScript.Network")    
net.SetDefaultPrinter "Standarddrucker"

Share this post


Link to post

Ich denke nicht, dass es am Script liegt, eher daran, dass es als Computerstartscript zugewiesen wird und nicht als Benutzeranmeldescript ...

Share this post


Link to post
Guest

Hallo, anbei ein kleiner Ausschnitt meines Scripts. Hatte ähnliches Problem mit Mitarbeitern an verschiedenen Standorten.

 

Ab Zeile 52 ist die eigentliche Zuweisung der Drucker.

 

**** Ab der nächsten Zeile ist das Script ****

Set WSHNetwork = WScript.CreateObject("WScript.Network")

Set WSHShell = WScript.CreateObject("WScript.Shell")

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objNetwork = WScript.CreateObject("WScript.Network")

Set objShell = WScript.CreateObject("WScript.Shell")

strUserDesktop = objShell.SpecialFolders.Item("Desktop")

strUserStartup = objShell.SpecialFolders.Item("Startup")

strUserFavorites = objShell.SpecialFolders.Item("Favorites")

Set colEnvironmentVariables = objShell.Environment("Volatile")

strUserFolder = colEnvironmentVariables.Item("APPDATA") & "\Microsoft\Internet Explorer\Quick Launch"

 

Const OverwriteExisting = TRUE

Const OverWriteFiles = TRUE

 

On Error Resume Next

 

Domain = WSHNetwork.UserDomain

UserName = ""

 

While UserName = ""

UserName = WSHNetwork.UserName

MyGroups = GetGroups(Domain, UserName)

Wend

 

While ComputerName = ""

ComputerName = WSHNetwork.ComputerName

Wend

''*********************************************************************************

''Function:", GetGroups

''*********************************************************************************

 

Function GetGroups(Domain, UserName)

Set objUser = GetObject("WinNT://" & Domain & "/" & UserName)

GetGroups=""

For Each objGroup In objUser.Groups

GetGroups=GetGroups & "[" & UCase(objGroup.Name) & "]"

Next

End Function

 

''********************************************************************************

''Function:", InGroup

''********************************************************************************

 

Function InGroup(strGroup)

InGroup=False

If InStr(MyGroups,"[" & UCase(strGroup) & "]") Then

InGroup=True

End If

End Function

 

 

'Hier werden die Drucker über die Zugehörigkeit der Gruppe "Drucker1" zugewiesen.

'und als Standarddrucker eingestellt.

 

objNetwork.RemovePrinterConnection "\\\\SERVER\DRUCKER1"

If INGROUP ("DRUCKER1") Then

WshNetwork.AddWindowsPrinterConnection "\\SERVER\DRUCKER1"

WshNetwork.SetDefaultPrinter "\\SERVER\DRUCKER1"

End If

 

objNetwork.RemovePrinterConnection "\\\\SERVER\DRUCKER2"

If INGROUP ("DRUCKER2") Then

WshNetwork.AddWindowsPrinterConnection "\\SERVER\DRUCKER2"

WshNetwork.SetDefaultPrinter "\\SERVER\DRUCKER2"

End If

 

'Hier wird dem jeweiligen User in Abhängikeit an welchem PC er sich anmeldet zugwiesen.

'Angenommen der Drucker1 steht im Raum ein und der PC4711 auch dann bekommt er diesen als Standard

If UCase(UserName) = "Meier1" Then

If UCase (ComputerName) = "PC4711" Then

WshNetwork.SetDefaultPrinter "\\SERVER\DRUCKER1"

End If

If UCase (ComputerName) = "PC4712" Then

WshNetwork.SetDefaultPrinter "\\SERVER\DRUCKER2"

End If

End If

 

If UCase(UserName) = "Mueller1" Then

If UCase (ComputerName) = "PC4711" Then

WshNetwork.SetDefaultPrinter "\\SERVER\DRUCKER1"

End If

If UCase (ComputerName) = "PC4712" Then

WshNetwork.SetDefaultPrinter "\\SERVER\DRUCKER2"

End If

End If

Share this post


Link to post

Hallo, wir haben das Problem anders gelöst. Wir haben für jeden Drucker eine Gruppe im Active Directory. Im Anmerkungs-Feld steht der Share des Druckers. Die Computer des Raumes 1 sind nun der Gruppe des Druckers 1 zugeordnet, die Computer des Raumes 2 der Druckergruppe 2. Das Logon-Script des Users liest die Druckergruppe aus, zu der der Computer gehört, liest aus dem Anmerkung-Feld den Share und ruft AddWindowsPrinterConnection auf. Den aktuellen Computer bekommt man leicht aus dem ADdSystemInfo-Objekt.

 

Lg, Oliver

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...