Hi zusammen,
Habe folgendes Problem:
Aus einer NT4-Domäne sollen alle Gruppen in einer W2K-Domäne angelegt werden und die Benutzer der NT4-Domäne sollen Mitglied der W2K-Domäne werden.
Die Gruppen exisiteren als Textfiles (jede Gruppe ein Textfile und die Member sind Inhalt dieser Textdatei).
Mein Script ist nun soweit, das ich die Gruppen zwar anlegen kann, aber nicht genau weiß wie ich die Benutzer aus der NT4-Domäne der W2K Gruppe zuordne.
Es gibt sicherlich auch Tools dafür, aber es soll über Script gehen, da eine Filterung der Gruppen durchgeführt werden muss.
Hier das Script.......
' in_p_groups.txt beinhaltet alle gefilterten Gruppen über "dir > in_p_groups.txt"; ohne die Endung .txt
Const Filename = "in_p_groups.txt"
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim oContainer
Dim oGroup_01
Dim oGroup_02
Dim counter_01
Dim counter_02
Counter = 0
Set oContainer=GetObject("LDAP://Windows2000-Domäne mit OU")
Set FSO_01 = WScript.CreateObject("Scripting.FileSystemObject")
if FSO_01.FileExists(Filename) Then
Dim file_01
set file_01 = FSO_01.GetFile(Filename)
Dim TextStream_01
Set TextStream_01 = file_01.OpenAsTextStream(ForReading, TristateUseDefault)
Do While Not TextStream_01.AtEndOfStream
Dim Line_01
Line_01 = "leer"
Line_01 = TextStream_01.readline
Counter_01 = Counter_01 + 1
Set oGroup_01 = oContainer.Create("Group","CN=Group_"&Line_01)
oGroup_01.Put "name", "Group_"+Line_01
oGroup_01.Put "sAMaccountName", "Group_"+Line_01
oGroup_01.SetInfo
Line_01 = Line_01 + ".txt"
Set FSO_02 = WScript.CreateObject("Scripting.FileSystemObject")
if FSO_02.FileExists(Line_01) THEN
counter_02 = 0
Dim file_02
set file_02 = FSO_02.GetFile(Line_01)
Dim TextStream_02
Set TextStream_02 = file_02.OpenAsTextStream(ForReading, TristateUseDefault)
Do While Not TextStream_02.AtEndOfStream
Dim Line_02
Line_02 = TextStream_02.readline
counter_02 = counter_02 + 1
IF counter_02 > 2 THEN
WSCRIPT.ECHO Line_01+" > "+Line_02
'NT4-Domäne\Line_02 der Gruppe W2K\Line_01 hinzufügen
END IF
Loop
Set TestStream_02 = NOTHING
ELSE
WSCRIPT.ECHO "Datei "&Line_01&" nicht gefunden!"
END IF
LOOP
SET TextStream_01 = NOTHING
ELSE
WSCRIPT.ECHO "Datei " & Filename &" nicht gefunden!"
END IF
WScript.Echo Counter_01 & " Gruppen bearbeitet."
'Clean up
Set oUser = Nothing
Set oContainer = Nothing
Set FSO = nothing