Voor een nieuwe folderstructuur op ons netwerk, moest ik een groot aantal nieuwe Domain Local Security Groups aanmaken. Dit doe je natuurlijk niet met de hand maar via een script. Ik wist toevallig dat Bouke Groenescheij van www.jume.nl hier al een script voor had gemaak. Het script kun je hier vinden: http://www.jume.nl/index.php?option=com_content&task=view&id=73&Itemid=1
Zijn script heb ik een klein beetje aangepast zodat het Domain Local Security Groups aanmaakt i.p.v Global Security Groups.
Ik heb de volgende regels eruit gehaald:
Const ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = 4
Const ADS_GROUP_TYPE_GLOBAL_GROUP = 2
Const ADS_GROUP_TYPE_LOCAL_GROUP = 4
Const ADS_GROUP_TYPE_SECURITY_ENABLED = -2147483648
Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = 8
en vervangen voor:
Const ADS_GROUP_TYPE_GLOBAL_GROUP = &h4
Const ADS_GROUP_TYPE_SECURITY_ENABLED = &h80000000
Meer informatie over de Const ADS_GROUP_TYPE vindt je in dit document: 63_65_scripting_guy.pdf
Daarna moet je nog een regel aanpassen in het script:
‘ ################################################################
‘ CreateGroups.vbs – Create a lot of groups based on a text file
‘ Written by Bouke Groenescheij – Jume B.V.: http://www.jume.nl
‘ Version 1.0
‘ ################################################################‘ You will need to supply this info:
strGroupParentDN = “ou=Bulkimport,dc=ctx45,dc=lab”
In het dik gedrukte gedeelte vul je de ou naam in en je domain. bijvoorbeel ctx45.lab
Nadat je dit gedaan hebt, moet je nog een textfile aanmaken. In deze tekstfile plaats je de naam van de groep en de description. Dit ziet er als volgt uit:
ctx_test1,testgroep1
ctx_test2,testgroep2
ctx_test3,testgroep3
ctx_test4,testgroep4
ctx_test5,testgroep5
ctx_test6,testgroep6
ctx_test7,testgroep7
ctx_test8,testgroep8
ctx_test9,testgroep9
Als laatste voer je het script als volgt uit:
cscript CreateGroups.vbs groups.txt
binnen enkele seconden zijn alle groepen aangemaakt.
Bouke bedankt voor het delen van dit handige script!
Hey, graag gedaan natuurlijk…
Het kan nog simpeler.
Maak het bestandje met groepsnamen en voer het volgende commando uit (vanuit een .cmd bestand)
for /f “tokens=*” %%n in (‘type groupnames.txt’) do dsadd group “cn=%%n,ou=,dc=training,dc=com” -scope L
(dit alles op 1 enkele commando regel)
De verschillende Directory Service commando’s zijn het nalezen waard, zoals
dsadd
dsmod
dsget
dsrm
dsquery
http://support.microsoft.com/kb/322684 geeft een aardig inzicht.
Thanks for sharing. Als ik weer eens tijd heb, zal ik deze commando’s eens nalopen 😉
Mooi!