easyeyesystem
Goto Top

Benutzer anlegen und anschließend zu einer Gruppe hinzufügen

Gibt es eine möglichkeit Benutzer aus einer txt oder Excel Datei mittels Batch oder einer anderen Sprache anzulegen?

Excel bzw. txt Datei:
User: Passwort: Gruppe:
User1 123456 Gruppe1
User2 123456 Gruppe1
User3 123456 Gruppe1
User4 123456 Gruppe1
User5 123456 Gruppe1
User6 123456 Gruppe1 Gruppe2
User7 123456 Gruppe1
User8 123456 Gruppe1
User9 123456 Gruppe1 Gruppe2

User kann man ja mittels Batch erstellen
net user User1 123456 /add


Könnte man evtl. noch diese Daten hinzufügen:
- Das Passwort beim nächsten mal ändern
- den Serverprofilort auch noch mit angeben?

Danke schon mal für eure Hilfe sollte meine Frage nicht eindeutig sein werde ich es nochmal zu erklären versuchen

Content-ID: 73495

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

Ausgedruckt am: 23.11.2024 um 03:11 Uhr

gemini
gemini 13.11.2007 um 22:23:29 Uhr
Goto Top
Hallo EasyEyeSystem,

im Script Center Reppository findest du eigentlich alles was du brauchst um die Daten aus einer Datei auszulesen und die Benutzer im Verzeichnis anzulegen.

Weil ich es vor kurzem selbst gebraucht habe hier ein Script das allerdings durchnumerierte
Bentzer einer festgelegten Anzahl mit unterschiedlichem Präfix anlegt.
Nicht ganz was du brauchst aber ich bin ganz zu müde um es noch für deine Zwecke umzubauen.
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
Const ADS_PROPERTY_APPEND = 3 

strKHs = "PräfixA,PräfixB,PräfixC,PräfixD"  
strCount = "20,30,15,20"  
strGrpPfx = "Alle"  
strHomeDrive = "U:"  
strDesc = "Schulungskonto"  
strScript = "logon.bat"  
strOUPfx = ""  
strDomain = "@domain.loc"  
strDC = "dc=domain,dc=loc"  

arrKHs = Split(strKhs,",")  
arrCount = Split(strCount,",")  

Set objRootDSE = GetObject("LDAP://rootDSE")  

For j = 0 To UBound(arrKHs)
	For i = 1 To arrCount(j)
	If Len(i) = 1 Then i = "0" & i  
	strUser = arrKHs(j) & "-Schul" & i  
	strGroup = strGrpPfx & arrKHs(j)
	strOU = strOUPfx & arrKHs(j)
	strProfilePath = "\\Server\" & arrKHs(j) & "Profiles$\" & strUser  
	strTSProfilePath = "\\Server\" & arrKHs(j) & "TSProfiles$\" & strUser  
	strHomePath = "\\Server\" & arrKHs(j) & "Homes$\" & strUser  
	CreateUser strUser, strGroup, strOU, strProfilePath, strTSProfilePath, strHomePath
	Next
Next
Wscript.Echo "Fertig!"  

Sub CreateUser(UName, UGrp, UOU, UProfPath, UTSProfPath, UHomePath)

Set objContainer = GetObject("LDAP://ou=" & UOU & "," & strDC)  
Set objUser = objContainer.Create("User", "cn=" & UName)  
	With objUser
		.sAMAccountName = UName
		.userPrincipalName = UName & strDomain
		.displayName = UName
		.description = strDesc
		.scriptPath = strScript
		.ProfilePath = UProfPath
		.HomeDirectory = UHomePath
		.HomeDrive = strHomeDrive
		.TerminalServicesProfilePath = UTSProfPath
		.TerminalServicesHomeDirectory = UHomePath
		.TerminalServicesHomeDrive = strHomeDrive
		.SetInfo
		.AccountDisabled = FALSE
		.SetPassword UName
		intUAC = objUser.Get("userAccountControl")  
		.userAccountControl = intUAC XOR ADS_UF_DONT_EXPIRE_PASSWD
		.SetInfo
	End With
Set objGroup = GetObject("LDAP://cn=" & UGrp & ",cn=Users," & strDC)  
	objGroup.PutEx ADS_PROPERTY_APPEND, "member",Array("cn=" & UName & ",ou=" & UOU & "," & strDC)  
objGroup.SetInfo
End Sub

HTH,
gemini
EasyEyeSystem
EasyEyeSystem 14.11.2007 um 18:29:58 Uhr
Goto Top
ok schau mal ob ichs anpassen kann.

An meinen Computer hab ich keine Domain gäbe es auch eine Version die man lokal ausführen könnte?