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

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:

Link zu diesem Kommentar

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

Link zu diesem Kommentar
[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.

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar
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...