Profilpfade per Script ändern ?
Ich ziehe gerade mit etwa 3000 Benutzerkonten auf einen anderen Server, das klappte auch wunderbar.
Nun suche ich ein Script was den Benutzerkonten einen eigenen Profilpfad und Homelaufwerk zuordnet und anlegt, ohne das ich händisch in jedes Profil muss.
Habe mir schon überlegt dieses Script umzuschreiben:
Dim fso, f, Zeile, Feld
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("user.txt", 1, 0)
Do While Not f.AtEndOfLine
Zeile = f.readLine
Feld = Split(Zeile, ",")
Benutzer = Feld(0)
Vorname = Feld(1)
Nachname = Feld(2)
Passwort = Feld(2)
Call BenuntzerAnlegen(Benutzer, Vorname, Nachname, Passwort)
Loop
f.Close
WScript.Quit (0)
Sub BenuntzerAnlegen(Benutzer, Vorname, Nachname, Passwort)
Dim ouo, b
Set ouo = GetObject("LDAP://OU=neueUser,,OU=Benutzer,DC=freedom,DC=testdomain")
Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname)
Dim WshShell, ret
Set WshShell = WScript.CreateObject("WScript.Shell")
b.Put "sAMAccountName", Benutzer
b.Put "displayName", Vorname & " " & Nachname
b.Put "givenName", Vorname
b.Put "sn", Nachname
b.Put "userAccountControl", 66082
b.Put "userPrincipalName", Benutzer & "@DomainName.TopLevelDomain"
b.Put "profilePath", "\\Server\homedrive\" & Benutzer
b.Put "homeDirectory", "\\Server\homedrive\" & Benutzer
b.Put "homeDrive", "Z:"
b.Put "pwdLastSet", 0
b.SetInfo
b.SetPassword Passwort
b.AccountDisabled = False
b.SetInfo
WScript.Sleep (1000)
ret = WshShell.Run("verz.cmd " & Benutzer, 0, 1)
End Sub
nur ist das Script für die einrichtung neuer Benutzer gedacht.
hat jemand nen Tip wie ich das Script dazu bringe die OU zu durchkämmen und bei jedem user den Eintrag zu aktualisieren ?
bin über jede Info,Link, etc dankbar
Nun suche ich ein Script was den Benutzerkonten einen eigenen Profilpfad und Homelaufwerk zuordnet und anlegt, ohne das ich händisch in jedes Profil muss.
Habe mir schon überlegt dieses Script umzuschreiben:
Dim fso, f, Zeile, Feld
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("user.txt", 1, 0)
Do While Not f.AtEndOfLine
Zeile = f.readLine
Feld = Split(Zeile, ",")
Benutzer = Feld(0)
Vorname = Feld(1)
Nachname = Feld(2)
Passwort = Feld(2)
Call BenuntzerAnlegen(Benutzer, Vorname, Nachname, Passwort)
Loop
f.Close
WScript.Quit (0)
Sub BenuntzerAnlegen(Benutzer, Vorname, Nachname, Passwort)
Dim ouo, b
Set ouo = GetObject("LDAP://OU=neueUser,,OU=Benutzer,DC=freedom,DC=testdomain")
Set b = ouo.Create("user", "CN=" & Vorname & " " & Nachname)
Dim WshShell, ret
Set WshShell = WScript.CreateObject("WScript.Shell")
b.Put "sAMAccountName", Benutzer
b.Put "displayName", Vorname & " " & Nachname
b.Put "givenName", Vorname
b.Put "sn", Nachname
b.Put "userAccountControl", 66082
b.Put "userPrincipalName", Benutzer & "@DomainName.TopLevelDomain"
b.Put "profilePath", "\\Server\homedrive\" & Benutzer
b.Put "homeDirectory", "\\Server\homedrive\" & Benutzer
b.Put "homeDrive", "Z:"
b.Put "pwdLastSet", 0
b.SetInfo
b.SetPassword Passwort
b.AccountDisabled = False
b.SetInfo
WScript.Sleep (1000)
ret = WshShell.Run("verz.cmd " & Benutzer, 0, 1)
End Sub
nur ist das Script für die einrichtung neuer Benutzer gedacht.
hat jemand nen Tip wie ich das Script dazu bringe die OU zu durchkämmen und bei jedem user den Eintrag zu aktualisieren ?
bin über jede Info,Link, etc dankbar
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 2411
Url: https://administrator.de/contentid/2411
Ausgedruckt am: 22.11.2024 um 15:11 Uhr
12 Kommentare
Neuester Kommentar
Das ist im Prinzip nicht schwer:
das Skript muß in etwa so aussehen:
*
*
domain = "firma"
set objDomain = GetObject("WinNT:" & domain)
for Each item in objDomain
WScript.Echo item.Class, item.Name
next
*
*
für firma trägst du deine Domäne ein... die Slash bestehen lassen, also wenn deine Domäne mydom heißt, dann mußt du es auf domain = "firma" ändern.
Wenn du das Skript so nun ausführst, dann öffnet sich ein Messages Fenster, daß dir die Art des Objects anzeigt User, Group durch den aufruf item.Class und dann den Namen durch item.Name.
Du mußt jetzt nichts anderes machen, als das Skript so abzuwandeln, daß durch einen if aufruf item.Class abgefragt wird, ob dies gleich user ist und dann den Wert in Array schreiben.
Anschlißend kannst du mit deinem Skript das Array durchlaufen und die Änderungen vornehmen.
das Skript muß in etwa so aussehen:
*
*
domain = "firma"
set objDomain = GetObject("WinNT:" & domain)
for Each item in objDomain
WScript.Echo item.Class, item.Name
next
*
*
für firma trägst du deine Domäne ein... die Slash bestehen lassen, also wenn deine Domäne mydom heißt, dann mußt du es auf domain = "firma" ändern.
Wenn du das Skript so nun ausführst, dann öffnet sich ein Messages Fenster, daß dir die Art des Objects anzeigt User, Group durch den aufruf item.Class und dann den Namen durch item.Name.
Du mußt jetzt nichts anderes machen, als das Skript so abzuwandeln, daß durch einen if aufruf item.Class abgefragt wird, ob dies gleich user ist und dann den Wert in Array schreiben.
Anschlißend kannst du mit deinem Skript das Array durchlaufen und die Änderungen vornehmen.
Wie lautet den nun die entgültige Lösung ?
Ich muß nun auch 500 Profilpfade ändern.... gibt es hier kein Tool womit man dies automatisieren kann ?
Ich muß nun auch 500 Profilpfade ändern.... gibt es hier kein Tool womit man dies automatisieren kann ?
Das funktioniert so nicht, das hatte ich auch schon probiert....
Welche Möglichkeiten hätte ich sonst noch ?
Welche Möglichkeiten hätte ich sonst noch ?
Wähle ich in einer OU z.B: 10 User aus, komme ich nicht auf den Punkt "Eigenschaften" um
die Pfade zuändern. Arbeite ich mit der Suchfunktion und wähle dort 10 User aus, kann
ich zwar die Eigenschaften bei einem User ändern, jedoch werden die Einstellungen
/servername\profiles\%USERNAME% nicht bei den anderen Benutzern übernommen....
die Pfade zuändern. Arbeite ich mit der Suchfunktion und wähle dort 10 User aus, kann
ich zwar die Eigenschaften bei einem User ändern, jedoch werden die Einstellungen
/servername\profiles\%USERNAME% nicht bei den anderen Benutzern übernommen....
Welches Server OS nutzt Du ? Ich nutze W2K SP4... Das Adminpack ist auch installiert.....
Ist schon seltsam diese MS Welten ;)
Ist schon seltsam diese MS Welten ;)