stefanm
Goto Top

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

Content-ID: 2411

Url: https://administrator.de/forum/profilpfade-per-script-aendern-2411.html

Ausgedruckt am: 23.12.2024 um 04:12 Uhr

linkit
linkit 08.09.2004 um 17:59:59 Uhr
Goto Top
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.
StefanM
StefanM 09.09.2004 um 07:45:35 Uhr
Goto Top
Danke damit erreiche ich schonmal das er die Benutzer durchläuft
den echoaufruf würde ich natürlich weglassen

wie packe ich sobald ich einen Benutzer "in der Hand" habe neue Info`s in seine Daten

auch per


b.Put "profilePath", "\\Server\homedrive\" & Benutzer
b.Put "homeDirectory", "\\Server\homedrive\" & Benutzer
b.Put "homeDrive", "Z:"
b.SetInfo
StefanM
StefanM 09.09.2004 um 11:05:17 Uhr
Goto Top
Habe ein passendes Script von Microsoft gefunden


Set objUser = GetObject _
("LDAP://cn=Myerken,ou=Management,dc=NA,dc=fabrikam,dc=com")
objUser.Put "profilePath", "\\sea-dc-01\Profiles\myerken"
objUser.Put "scriptPath", "logon.vbs"
objUser.Put "homeDirectory", "\\sea-dc-01\HomeFolders\myerken"
objUser.Put "homeDrive", "H:"
objUser.SetInfo


leider bin ich vbscript nicht so fit und habe jetzt Probleme die Schleife darum zu bauen und Varibalen für den Username einzubauen.
1052
1052 09.02.2005 um 12:35:52 Uhr
Goto Top
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 ?
StefanM
StefanM 09.02.2005 um 12:51:02 Uhr
Goto Top
Hallo,
markiere einfach alle User und drücke "rechte Maustaste" und ändere die Pfade

wo der Username erscheinen soll benutzt du " %username% "

Geht ganz easy
1052
1052 09.02.2005 um 13:27:36 Uhr
Goto Top
Das funktioniert so nicht, das hatte ich auch schon probiert....
Welche Möglichkeiten hätte ich sonst noch ?
StefanM
StefanM 09.02.2005 um 13:51:55 Uhr
Goto Top
Bei mir geht das auch, also sollte es bei jedem anderem auch gehen...

Was geht denn nicht ?
1052
1052 09.02.2005 um 13:56:33 Uhr
Goto Top
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....
StefanM
StefanM 09.02.2005 um 14:10:34 Uhr
Goto Top
Hmm, also bei mir öffnet sich das fenster "Eigenschaften für Mehrbenutzerobjekte" wenn ich mehrere user in einer OU ausgewählt habe.
Ich mache dann unter Reiter "Profil" den Haken rein und dann kann ich den Pfad eingeben

eine korekte Pfadangabe wäre: "\\servername\profiles\%username%
1052
1052 09.02.2005 um 14:43:46 Uhr
Goto Top
Welches Server OS nutzt Du ? Ich nutze W2K SP4... Das Adminpack ist auch installiert.....
Ist schon seltsam diese MS Welten ;)
StefanM
StefanM 09.02.2005 um 14:51:38 Uhr
Goto Top
Hmm
ich nutze 2003
das kann natürlich auch daran liegen face-sad
1052
1052 09.02.2005 um 15:13:06 Uhr
Goto Top

Egal, hier die ideale Lösung für mein Problem......

http://www.msexchangefaq.de/tools/admodify.htm