Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Loginscript mit Gruppenabfrage

Frage Entwicklung

Mitglied: xm-bit

xm-bit (Level 2) - Jetzt verbinden

09.11.2009, aktualisiert 16:53 Uhr, 4189 Aufrufe, 13 Kommentare

Hallo und guten morgen,

ich habe ein Problem und brauche eure Unterstützung.

Nach langen suchen habe ich nun ein Script gefunden was ich gerne einsetzen möchte. Nur leider funktioniert es nicht so wie ich möchte.

Ich möchte ein Script haben, was prüft, welcher User in welchen Gruppen ist, sollte ein Übereinstimmung sein, dann bekommt er das jeweilige Laufwerk und den jeweiligen Drucker.

Der DC ist ein Server 2008, es sind mehrere Terminalserver da.
Es ist ein Fileserver vorhanden, und die Workstation bestehen zum größten Teil aus Igel-Thinclients.
Hier ist ein Script was ich gefunden , und ein wenig angepaßt habe.

Aber ich bin mir nicht sicher, ob es richtig ist, was ich gemacht habe.

Wenn ihr euch das mal anschaut, und mir eine Tipp geben könnt, den auch eine "Laie in Scripting" versteht, bin ich euch sehr dankbar.

01.
Dim strComputerName  
02.
Dim strUserName  
03.
Dim strDomainName  
04.
Dim strPrintSRV 
05.
Dim strPrintSRV2 
06.
 
07.
Dim objADSysInfo  
08.
Dim wshNetwork  
09.
Dim WshShell  
10.
Dim WshSysEnv  
11.
Dim oShell  
12.
Dim oShFolder  
13.
Dim objUser  
14.
Dim objOU  
15.
Dim rootDSE  
16.
Dim oPq  
17.
Dim ws 
18.
Set wshNetwork = WScript.CreateObject( "WScript.Network" )  
19.
Set WshShell = WScript.CreateObject("WScript.Shell")  
20.
Set WshProcEnv = WshShell.Environment("Process")  
21.
Set WshUserEnv = WshShell.Environment("USER")  
22.
Set objADSysInfo = CreateObject("ADSystemInfo")  
23.
Set oShell = CreateObject("Shell.application") 				 
24.
Set oShFolder = oShell.Namespace(17)  
25.
Set objUser = GetObject("LDAP://" & objADSysInfo.UserName)  
26.
Set objOU = GetObject(objUser.parent)  
27.
Set objFSO = CreateObject("Scripting.FileSystemObject")  
28.
strPrintSRV = "printsrv" 
29.
Server1 = "DC-Server"  
30.
Server2 = "file-Server"  
31.
 
32.
'Warten bis der Anmeldename des Users ermittelt wurde  
33.
Do While wshNetwork.username = ""  
34.
   WScript.Sleep 25  
35.
Loop  
36.
 
37.
strComputerName = wshNetwork.computerName  
38.
strUserName = wshNetwork.userName  
39.
strDomainName = wshNetwork.userDomain  
40.
 
41.
Call subdrivemap 'Aufruf der Subroutine zum Laufwerkmappen  
42.
 
43.
Sub subdrivemap()  
44.
 
45.
' ### ADSI abfragen  
46.
adspath = "WinNT://" & strDomainName & "/" & strUserName  
47.
 
48.
Set adsobj = GetObject( adspath )  
49.
WScript.Echo (Test) 
50.
'##### vorhandene Laufwerke löschen  
51.
 
52.
On Error Resume Next  
53.
wshNetwork.RemoveNetworkDrive "I:", True, True  
54.
wshNetwork.RemoveNetworkDrive "J:", True, True  
55.
wshNetwork.RemoveNetworkDrive "K:", True, True  
56.
wshNetwork.RemoveNetworkDrive "L:", True, True  
57.
wshNetwork.RemoveNetworkDrive "H:", True, True  
58.
wshNetwork.RemoveNetworkDrive "N:", True, True  
59.
wshNetwork.RemoveNetworkDrive "O:", True, True  
60.
wshNetwork.RemoveNetworkDrive "Z:", True, True  
61.
wshNetwork.RemoveNetworkDrive "P:", True, True  
62.
wshNetwork.RemoveNetworkDrive "Q:", True, True  
63.
wshNetwork.RemoveNetworkDrive "S:", True, True  
64.
wshNetwork.RemoveNetworkDrive "W:", True, True  
65.
wshNetwork.RemoveNetworkDrive "X:", True, True  
66.
wshNetwork.RemoveNetworkDrive "M:", True, True  
67.
 
68.
'##### für jeden gültige Laufwerke mappen  
69.
'wshNetwork.MapNetworkDrive "I:", "\\"&Server2&"\User\"& strUserName  
70.
'wshNetwork.MapNetworkDrive "L:", "\\"&Server2&"\AUS"  
71.
wshNetwork.MapNetworkDrive "V:", "\\" & Server2 & "\Vorlagen" 
72.
wshNetwork.MapNetworkDrive "X:", "\\" & Server1 & "\Xerox" 
73.
 
74.
'Drucker mappen 
75.
wshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV2 & "\BrotherH" 
76.
wshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV2 & "\GPKlassig" 
77.
wshNetwork.AddWindowsPrinterConnection "\\" & strPrintSRV2 & "\KyoceraF" 
78.
 
79.
'##### Gruppenabhängige Laufwerke mappen  
80.
 
81.
For Each prop In adsobj.groups  
82.
 
83.
'* ACHTUNG! Gruppennamen immer GROSS schreiben  
84.
Select Case UCase(prop.name)  
85.
 
86.
Case "MITARBEITER"  
87.
	wshNetwork.MapNetworkDrive "K:", "\\" & Server2 & "\Kanzleiverwaltung" 
88.
	wshNetwork.MapNetworkDrive "M:", "\\" & Server2 & "\Mandantenstamm" 
89.
	wshNetwork.MapNetworkDrive "P:", "\\" & Server2 & "\Software" 
90.
	 
91.
Case "GESCHÄFTSLEITUNG"  
92.
  wshNetwork.MapNetworkDrive "I:", "\\" & Server2 & "\Kanzlei_intern" 
93.
	 
94.
'Case "HR"  
95.
  'wshNetwork.MapNetworkDrive "L:", "\\"&Server2&"Groups$\Profile"  
96.
 
97.
End Select  
98.
 
99.
Next  
100.
 
101.
End Sub  
102.
 
Nach langem testen habe ich nun festgestellt, wenn ich folgende Konfiguration habe:
OU=Gruppe, OU=untergruppe.
in untergruppe sind nun meine Gruppen auf die das Script greifen soll.

Dann funktioniert es nicht.

Setze ich nun die Gruppen, direkt in die OU=gruppe dann greift auch mein Script. Woran liegt das???

Wie schon gesagt, ich bin noch Anfänger was scripting angeht, und lerne mit jedem Script dazu...

mfg
Sascha
Mitglied: Miyamoto
09.11.2009 um 10:51 Uhr
Hi,
ich würde mal sagen das liegt an deinem LDAP-Pfad in Zeile 25.
Woher soll das Skript wissen das es noch eine Weitere Gruppe gibt.

Ist aber nur eine Vermutung.

Gruß Miyamoto
Bitte warten ..
Mitglied: xm-bit
09.11.2009 um 11:39 Uhr
Hi miyamoto,

ok, und was trage ich dort ein???
Wie schon gesagt, bin noch blutiger Anfänger.

Wäre dann in dem Fall etwas wie

LDAP://OU=untergruppe, OU=gruppe, DC=server, DC=local

das richtige??

mfg
Sascha
Bitte warten ..
Mitglied: Miyamoto
09.11.2009 um 11:49 Uhr
Wenn ich mich richtig erinnere ist das so weit richtig.
Wenn es nicht klappt würde ich es noch mal ohne die "untergruppe" ausprobieren.

Weiß das auch nicht mehr so gut, ist einfach schon zulange her wo ich so was gemacht habe

Gruß Miyamoto
Bitte warten ..
Mitglied: xm-bit
09.11.2009 um 12:00 Uhr
Hi,

das habe ich getestet, aber leider bekomme ich dann folgende Fehlermeldung:

Script: \\server\netlogon\test.vbs
Zeile: 25
Zeichen: 1
Fehler: 0x80005000
Code: 80005000
Quelle: (null)

Beim googlen habe ich gefunden, das es am Pfad liegen soll. Aber den habe ich überprüft...

Bin ein wenig ratlos...

mfg
Sascha
Bitte warten ..
Mitglied: Miyamoto
09.11.2009 um 12:03 Uhr
wie sied den jetzt deine Zeile 25 aus?
Bitte warten ..
Mitglied: xm-bit
09.11.2009 um 12:09 Uhr
Hi,

hier ist die Zeile 25:
Set objUser = GetObject("LDAP://OU=Usergruppen,OU=gruppe,DC=server,DC=local" & objADSysInfo.UserName)

Ich habe es auch schon ohne die OU untergruppe probiert. Aber das ging auch nicht.
Per Adsiedit habe ich den Pfad auch überprüft, der stimmt auch..

mfg
Sascha
Bitte warten ..
Mitglied: Miyamoto
09.11.2009 um 13:14 Uhr
Eine frage habe ich noch, was steht den in der Variable "objUser " drin, wenn dein Skript läuft?
Bitte warten ..
Mitglied: xm-bit
09.11.2009 um 13:22 Uhr
Hi,

das würde ich dir gerne sagen, wenn du mir sagst, wie ich das mit Wscriptecho sichtbar machen kann.



edit:

Da wird mir der angemeldete Benutzer angezeigt, CN=nachname/ , vorname

mfg
Sascha
Bitte warten ..
Mitglied: Miyamoto
09.11.2009 um 13:52 Uhr
Schreib mal bitte in deine Zeile 25 das:
01.
Set objUser = GetObject("LDAP://" & objADSysInfo.UserName & ",OU=Usergruppen,OU=gruppe,DC=server,DC=local")  
Bitte warten ..
Mitglied: bastla
09.11.2009 um 17:11 Uhr
Hallo SasHW2k3!

Streiche die Zeilen 45 bis 49 und ersetze die Zeilen 81 durch:
For Each prop In objUser.groups
und 84 durch:
Select Case UCase(prop.cn)
Die ursprüngliche Zeile 25
Set objUser = GetObject("LDAP://" & objADSysInfo.UserName)
soll so bleiben, da diese Zeile den User als Objekt liefert, dessen Gruppenmitgliedschaften dann in der Schleife ab Zeile 81 ausgelesen werden.

Wie du schon bemerkt hast, wird bei Verwendung des Attributes ".Name" ein "CN=" vorangestellt, weswegen die Eigenschaft ".cn" für Deinen Zweck günstiger ist.

Grüße
bastla
Bitte warten ..
Mitglied: xm-bit
09.11.2009 um 20:43 Uhr
Hi Bastla,

danke schön.
Das funktioniert wunderbar.
Alleine hätte ich das bestimmt nicht so schnell geschafft.

Eine kleine Frage hätte ich da doch noch.
Wenn ich nun eine Datei von einem Laufwerk X, an einen anderen Ort im Benutzerprofil eines Users kopieren will, um die vorhandene zu überschreiben, wie stelle ich das an??

mfg
Sascha
Bitte warten ..
Mitglied: bastla
09.11.2009 um 21:26 Uhr
Hallo SasHW2k3!
Das funktioniert wunderbar.
Freut mich.

Wenn ich nun eine Datei von einem Laufwerk X, an einen anderen Ort im Benutzerprofil eines Users kopieren will ...
Auch wenn es vermutlich weiterhin um VBScript gehen soll, ist das eigentlich ein Thema für einen neuen Thread ...

Grüße
bastla
Bitte warten ..
Mitglied: xm-bit
10.11.2009 um 09:35 Uhr
Guten morgen Bastla,

ok, dann setzte ich das in einen neuen Thread. Ist doch kein Problem...

mfg
Sascha
Bitte warten ..
Ähnliche Inhalte
Windows Update
SUSID im Loginscript
gelöst Frage von SprudiWindows Update1 Kommentar

Liebe Community, es wurden Windows PCs mit Acronis bespielt, ohne vorher ein Sysprep durchzuführen. Leider haben nun circa 100 ...

Windows Server
Loginscript wird nicht verarbeitet
Frage von franksigWindows Server17 Kommentare

Hallo zusammen, Ich hab mal wieder ein leidiges Loginscriptproblem, Ausgangslage: es git eine GPO Namens "Loginskript-Produktion" ich habe dort ...

Windows Userverwaltung
Powershell: Rekursiver AD Gruppenabfrage schlägt fehl
gelöst Frage von bensonhedgesWindows Userverwaltung4 Kommentare

Hallo, bislang haben wir nach einem mit Die Mitglieder der AD Gruppen ausgeben können. Auch darin enthaltene Gruppen wurden ...

Windows Server
Bitlocker Key per Batch - Loginscript ablegen
Frage von dgrebnerWindows Server5 Kommentare

Guten Tag, ein Kunde von uns setzt bei allen seinen Notebooks Bitlocker zur Verschlüsselung ein. Da bisher jeder User ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Windows Store Apps
gelöst Frage von PeterleBWindows Server11 Kommentare

Gibt es einen Weg, auf Windows Server 2016 Windows Store Apps wie zum Beispiel die HP Smart App zu ...

Microsoft Office
Outlook Cache Mode Frage
Frage von GwaihirMicrosoft Office11 Kommentare

Hallo zusammen, bin gerade neu in der Firma und lerne hier einige neue Dinge kennen. Zum Beispiel, dass die ...

Microsoft
Erfahrungen mit Webcam over RDP gesucht
Frage von DerWoWussteMicrosoft10 Kommentare

Moin Kollegen. Bekanntlich kann man Webcams nur mit Drittanbietersoftware in RDP reinschleifen. Was nutzt Ihr dazu? Wie stabil funktioniert ...