Shrek 10 Geschrieben 5. August 2004 Melden Teilen Geschrieben 5. August 2004 Hi @all. Ich hab da mal eine Frage, und hoffe, das ihr mir helfen könnt. Ich möchte gerne ein Windows Loginscript schreiben. Dieses Script soll mir aus einer Exceltabelle (Spalte A=Username, Spalte B=Std. Drucker, ab Spalte C=zusätzliche Drucker) Werte ausliest, und sobald der in der Datei gefundene Username mit dem angemeldeten übereinstimmt ab Spalte B alle Drucker mappt, und den Wert in Spalte B als Std. Drucker auf dem System einrichtet. Jetzt kommts, ich hab absolut keine Ahnung von VB. Das mapping der Drucker bekomme ich noch hin, aber ich bekomme keine Datei ausgelesen. :( Kann mir da draussen einer weiterhelfen??? Zitieren Link zu diesem Kommentar
Holgi T 10 Geschrieben 5. August 2004 Melden Teilen Geschrieben 5. August 2004 Das geht ganz gut mit zwei Tools von MS (ifmember.exe und con2prt.exe). Die con2prt.exe gibts hier drin: http://www.microsoft.com/ntworkstation/downloads/Recommended/Featured/NTZAK.asp und die ifmember.exe hier: http://www.microsoft.com/downloads/details.aspx?FamilyID=07c2f6d7-815e-4fa0-9043-4e4635ccd417&DisplayLang=en Benutzergruppe anlegen, die drucken soll und Benutzer rein in die Gruppe... Kurze login.bat schreiben und das alles platzieren. Fertig. Bsp: %logonserver%\netlogon\ifmember Gruppe if errorlevel=1 %logonserver%\netlogon\con2prt /cd \\PC\Drucker exit So irgendwie müsste es gehen... Zitieren Link zu diesem Kommentar
Dr.Melzer 191 Geschrieben 5. August 2004 Melden Teilen Geschrieben 5. August 2004 Hast du mal darüber nachgedacht dich beim Guinnes Buch der Rekorde, für die umständlichste Art Drucker zu mappen, anzumelden? Warum machszt du das nicht mit Gruppenmitgliedschaften oder OU´s? Zitieren Link zu diesem Kommentar
Shrek 10 Geschrieben 5. August 2004 Autor Melden Teilen Geschrieben 5. August 2004 [Warum machszt du das nicht mit Gruppenmitgliedschaften oder OU´s? Die Druckerzuweisungen sollen hier zentral vom UHD gepflegt werden. Wir wollten es vermeiden: 1. das wir für jeden Drucker neue Gruppen anlegen müssen 2. das wir die UHD mehr als notwendig auf die ADS zulassen. Gibt es nicht noch eine andere Lösung für das Prob. Wenn ja, dann nur her damit. Zitieren Link zu diesem Kommentar
frieda 10 Geschrieben 5. August 2004 Melden Teilen Geschrieben 5. August 2004 Ich finde die Lösung mit ifmember und con2prt ziemlich einfach und gut. Und sie funktioniert hervorragend. Und eine Gruppe oder mehrere anlegen ist nicht schwer. Die Leute brauchen bloss in der jeweiligen OU das Recht Gruppen anzulegen. Für den Rest brauchen sie dann ja keine Rechte..... Zitieren Link zu diesem Kommentar
Shrek 10 Geschrieben 6. August 2004 Autor Melden Teilen Geschrieben 6. August 2004 Ihr habt ja vollkommen recht, das das im Einzelfall recht einfach ist mag ich gar nicht bestreiten. Nur das Problem, welches ich sehe ist, dass ich für jeden neuen Drucker mein Loginscript anpassen muss. Da unser Kunde ziehmlich viele Druckerwechsel, und Neuanschaffungen hat, ist dass denke ich, nicht sehr komfortabel. Zitieren Link zu diesem Kommentar
frieda 10 Geschrieben 6. August 2004 Melden Teilen Geschrieben 6. August 2004 Dann wäre doch vielleicht eine sinnvolle Namenskonvention gut. Was weiss ich: Drucker-01-2og , Drucker-02-2og usw. Dann kann der Kunde den Drucker wechseln, der Name bleibt aber gleich. Weisst du wie ich meine? Wer installiert eigentlich die Druckertreiber auf dem Printserver? Zitieren Link zu diesem Kommentar
Shrek 10 Geschrieben 6. August 2004 Autor Melden Teilen Geschrieben 6. August 2004 Also unser Printmanagement soll von einer Truppe zentral für die ganze Bundesweit gesteuert werden. Du meinst, das Drucker Etagenweise in eine Gruppe gefügt werden, und die AWs dann je nach Gruppenzugehörigkeit die Drucker komplett Etagen-, bzw. Gruppenweise für die AWs gemappt werden. Stimmt das soweit??? Zitieren Link zu diesem Kommentar
frieda 10 Geschrieben 6. August 2004 Melden Teilen Geschrieben 6. August 2004 also ich hab das so gemacht: hab Gruppen erstellt mit Namen wie DruckerIP235. In diese Gruppen hab ich die User gesteckt, die diese Drucker nutzen sollen. Im Skript wird die Gruppenzugehörigkeit des Users abgefragt und dann entsprechend der freigebene Drucker \\server\Printer-03-2og verbunden. Dabei ist ja egal was für ein Drucker hinter Printer-03-2og steht. Solange nur ein Austausch stattfindet ist das kein Problem. Und wenn was Neues dazu kommt geht das ja nun auch schnell, es dauert genauso lange wie die Treiberinstallation.... das sieht so aus: :3 %Logonserver%\Netlogon\ifmember GG-DruckIp401 if not errorlevel 1 GOTO 4 %Logonserver%\Netlogon\con2prt /C \\Server\PRT-EG-01 :4 %Logonserver%\Netlogon\ifmember GG-DruckIp402 if not errorlevel 1 GOTO 5 %Logonserver%\Netlogon\con2prt /C \\Server\PRT-1OG-02 :5 %Logonserver%\Netlogon\ifmember GG-DruckIp403 if not errorlevel 1 GOTO 6 %Logonserver%\Netlogon\con2prt /C \\Server\PRT-2OG-03 usw... Zitieren Link zu diesem Kommentar
Shrek 10 Geschrieben 11. August 2004 Autor Melden Teilen Geschrieben 11. August 2004 So, hab jetzt VBScript gelernt. :D Für alle die es interessiert, hier das Script, so wie ich es benötigt habe. Vielen Dank trotzdem an alle, die mitgeholfen haben. LG Shrek '====================================================================== ' 'Löschen aller aktiven Netzlaufwerkverbindungen ' '====================================================================== Set objNet = WScript.CreateObject("WScript.Network") Set CheckDrive = objNet.EnumNetworkDrives() For i = 0 To CheckDrive.Count - 1 Step 2 objNet.RemoveNetworkDrive CheckDrive.Item(i) next '====================================================================== ' 'Setzen der neuen Netzlaufwerkverbindungen ' '====================================================================== Dim objNet, strUserName Set objNet = CreateObject("Wscript.Network") strUserName =objNet.UserName objNet.MapNetworkDrive "I:", "\\Server\" & strUserName &"$" objNet.MapNetworkDrive "J:", "\\Server\Freigabe" '====================================================================== ' 'Aktive Netzwerkdrucker mit Con2Prt.exe löschen... ' '====================================================================== Set con2prt = WScript.CreateObject("WScript.Shell") con2prt.Run("c:\temp\con2prt.exe /f") ReturnCode = con2prt.Run("c:\temp\con2prt.exe", 0, True) '====================================================================== ' 'Lese Eintrag aus Exceldatei und such in Spalte A nach dem Usernamen. 'Wenn der Username gefunden wird, dann Verbinde den in Spalte B eingetragenen Drucker 'vom Printserver mit der lokalen Workstation und setze diesen als Std. Drucker ' '====================================================================== Dim objXL, net, printer, zeile Set net = CreateObject("WScript.Network") Set objXL = GetObject("c:\temp\drucker.xls") strUserName =net.UserName '====================================================================== ' 'Suche und setze Std., und weitere Drucker ' '====================================================================== For i = 1 To objXL.Sheets("Standarddrucker").UsedRange.Rows.Count +1 if objXL.Sheets("Standarddrucker").Cells(i,1).Value = strUsername then printer = objXL.Sheets("Standarddrucker").Cells(i,2).Value net.AddWindowsPrinterConnection "\\Printserver\" & printer net.SetDefaultPrinter "\\Printserver\" & printer For n = 3 To objXL.Sheets("Standarddrucker").UsedRange.Columns.Count -1 +1 printer = objXL.Sheets("Standarddrucker").Cells(i,n).Value net.AddWindowsPrinterConnection "\\Printserver\" & printer next else end if next WSCript.Quit 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.