Jump to content

Komplexes Loginscript


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

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??? :confused:

Geschrieben

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...

Geschrieben
[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.

Geschrieben

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.....

Geschrieben

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.

Geschrieben

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?

Geschrieben

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???

Geschrieben

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...

Geschrieben

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

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...