jmuonline 10 Geschrieben 26. April 2007 Melden Teilen Geschrieben 26. April 2007 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 Zitieren Link zu diesem Kommentar
IThome 10 Geschrieben 26. April 2007 Melden Teilen Geschrieben 26. April 2007 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 ... Zitieren Link zu diesem Kommentar
jmuonline 10 Geschrieben 26. April 2007 Autor Melden Teilen Geschrieben 26. April 2007 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 Zitieren Link zu diesem Kommentar
IThome 10 Geschrieben 26. April 2007 Melden Teilen Geschrieben 26. April 2007 So mache ich das auch, das klappt wunderbar. Ich rede von Anmeldescript (der User ist also angemeldet), nicht Computerstartscript. Loopbackverarbeitung war aktiv ? Zitieren Link zu diesem Kommentar
jmuonline 10 Geschrieben 26. April 2007 Autor Melden Teilen Geschrieben 26. April 2007 Hallo nochmals was meinst Du als "loopbackverarbeitung", kannst du mir bitte mal ein beispiel posten? danke jmuonline Zitieren Link zu diesem Kommentar
IThome 10 Geschrieben 26. April 2007 Melden Teilen Geschrieben 26. April 2007 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 ... Zitieren Link zu diesem Kommentar
egomat 10 Geschrieben 27. April 2007 Melden Teilen Geschrieben 27. April 2007 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 Zitieren Link zu diesem Kommentar
IThome 10 Geschrieben 27. April 2007 Melden Teilen Geschrieben 27. April 2007 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 ... Zitieren Link zu diesem Kommentar
Jürgen2 10 Geschrieben 27. April 2007 Melden Teilen Geschrieben 27. April 2007 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" Zitieren Link zu diesem Kommentar
IThome 10 Geschrieben 27. April 2007 Melden Teilen Geschrieben 27. April 2007 Ich denke nicht, dass es am Script liegt, eher daran, dass es als Computerstartscript zugewiesen wird und nicht als Benutzeranmeldescript ... Zitieren Link zu diesem Kommentar
Jürgen2 10 Geschrieben 27. April 2007 Melden Teilen Geschrieben 27. April 2007 IT-Home, sehe ich genau so! Zitieren Link zu diesem Kommentar
Gast Geschrieben 22. Mai 2007 Melden Teilen Geschrieben 22. Mai 2007 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 Zitieren Link zu diesem Kommentar
oh2002 10 Geschrieben 22. Mai 2007 Melden Teilen Geschrieben 22. Mai 2007 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.