kommy
Goto Top

Gruppen in AD per Script und .txt

Hallo Admins und Helfer in Not.

Kurz vorweg. Bin seit 12 Tagen zweifacher Papa und jetzt kommt alles zusammen, deshalb bitte ich um eine kleine Nachsicht falls es einen ähnlichen Beitrag doch schon geben sollte.

Also nun mein eigenltiches problem.
Ich muss in einer Hauptschule viel Gruppen anlegen, jetzt haben wir (keine ahnung woher) schon ein .vbs script zum anlegen der User mit hilfe einer .txt-Datei, welche auch funktioniert.

Das selbe hätte ich nun auch gerne mit den Gruppen gemacht
Auf gut deutsch es muss ein Script sein das auf eine Textdatei zugreift und dann die Gruppen (Global - Sicherheit) im AD anlegt.
Ich hab echt lange gesucht, aber in der beziehung Programmierung und alles was im entferntesten damit zu tun hat habe ich zwei linke hände.

Ich habe das beim stöbern gefunden:
Const ADS_GROUP_TYPE_GLOBAL_GROUP = &h2
Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000

Set objOU = GetObject("LDAP://ou=Schule,dc=schulname,dc=de")  
Set objGroup = objOU.Create("Group", "cn=HR-Employees")  

objGroup.Put "sAMAccountName", "HRStaff"  
objGroup.Put "groupType", ADS_GROUP_TYPE_GLOBAL_GROUP Or _  
    ADS_GROUP_TYPE_SECURITY_ENABLED
objGroup.SetInfo
Das haut auch soweit hin aber eben nur mit der Gruppe -HR-Employees- und nicht mit einer txt-datei.

Ich hoffe ihr könnt mir weiterhelfen.

Ein gutes neues Jahr mit Gesundheit und Glück wünsch ich allen.
(Ein leicht gestresster, aber glücklicher kurzNachtVater)

Tom

Content-ID: 76988

Url: https://administrator.de/contentid/76988

Ausgedruckt am: 26.11.2024 um 01:11 Uhr

bastla
bastla 02.01.2008 um 01:12:23 Uhr
Goto Top
Hallo kommy!

Soferne alle Gruppen in die selbe OU sollen und in der Textdatei jede Gruppe in einer eigenen Zeile steht, ginge das etwa so:
'CreateGroupsFromList.vbs  

Const OU = "ou=Schule,dc=schulname,dc=de"  
Const List = "D\Gruppenliste.txt"  

Const ADS_GROUP_TYPE_GLOBAL_GROUP = &h2
Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000

Set objOU = GetObject("LDAP://" & OU)  
Set fso = CreateObject("Scripting.FileSystemObject")  

If Not fso.FileExists(List) Then
	WScript.Echo "Datei " & List & " nicht gefunden!"  
	WScript.Quit 1
End If

arrGruppen = Split(fso.OpenTextFile(List, 1, False).ReadAll, vbCrLF)
For Each strGruppe In arrGruppen
	WScript.Echo "Erstelle Gruppe: " & strGruppe  
	MakeGroup strGruppe
Next
WScript.Echo "Fertig."  

Sub MakeGroup(strGrName)
Set objGroup = objOU.Create("Group", "cn=" & strGrName)  
objGroup.Put "sAMAccountName", strGrName  
objGroup.Put "groupType", ADS_GROUP_TYPE_GLOBAL_GROUP Or _  
ADS_GROUP_TYPE_SECURITY_ENABLED
objGroup.SetInfo
End Sub
Gedacht ist das Script für einen Aufruf von der Kommandozeile, also etwa:
"cscript //nologo C:\Scripts\CreateGroupsFromList.vbs"  
Falls Du über den Explorer starten willst, solltest Du die Zeile
WScript.Echo "Erstelle Gruppe: " & strGruppe"  
entfernen, da Du ansonsten für jede Gruppe eine Messagebox wegklicken müsstest.

Noch eine kurze Anmerkung: Zum Posten von Code solltest Du < code>-Tags (ohne Leerzeichen) verwenden ...

Grüße
bastla

P.S.: Schlafen ist für Schwächlinge ... face-wink
kommy
kommy 02.01.2008 um 08:25:35 Uhr
Goto Top
Juhuuu geil!!!!!!!!

Es geht. Vielen Dank Bastla. Hab von Dir ja schon viel gelesen, und fühle mich jetzt echt geehrt, dass Du dich meinem Problem angenommen hast.

Wenn ich jetz noch ein kleines Teilchen aus der Welt schaffen könnte.

Beim anlegen der Gruppen, gibt er mir nach jeder Gruppe die in der txt steht eine OK-Meldung, dass er sie hinzugefügt hat. Kann man das mit nem "Ja"-Schalter umgehen?

Vielen Dank noch mal.

Gruß Tom
Biber
Biber 02.01.2008 um 08:52:27 Uhr
Goto Top
Moin kommy,

Glückwunsch zum Nachwuchs von mir und alles Gute.

Dieses hier:....
Falls Du über den Explorer starten willst, solltest Du die Zeile
WScript.Echo "Erstelle Gruppe: " & strGruppe"

entfernen, da Du ansonsten für jede Gruppe eine Messagebox wegklicken müsstest.
...hast Du aber in bastlas Beitrag beherzigt?
Oder war es wieder eine kurze Nacht? *gg

Grüße auch an die Mutter (falls es Zwillinge waren) bzw. an die Mütter.
Biber
kommy
kommy 02.01.2008 um 09:07:40 Uhr
Goto Top
Muhaha,

naja wer lesen kann ist klar im Vorteil.
Sicher hast recht.
Nach war eigentlich relativ normal. Ich schiebs jetz mal auf die Silvesternacht face-smile

Gruß und Danke.
tom