Jump to content

ub40

Members
  • Gesamte Inhalte

    3
  • Registriert seit

  • Letzter Besuch

Profile Fields

  • Member Title
    Newbie

Fortschritt von ub40

Rookie

Rookie (2/14)

  • Erste Antwort
  • Erster eigener Beitrag
  • Eine Woche dabei
  • Einen Monat dabei
  • 1 Jahre dabei

Neueste Abzeichen

10

Reputation in der Community

  1. ub40

    MoveTree via Script

    Hallo an alle! Ich habe folgendes Problem mit einem Script: Ich möchte mit einem Script Benutzer von einer Domäne (W2K3) in eine andere Domäne ( W2K3) verschieben. Hierzu benutze ich zwei Dateien. In der ersten Datei stehen die variablen Angaben und in der zweiten Datei ist das dazugehörige VB-Script enthalten. Inhalt von Datei 1 (.txt): SourceServer.FI.de; DestinationServer.SU.de; CN=user1,OU=Abgang,OU=User-Pool,DC=FI,DC=de; CN=user1,OU=Zugang,OU=User-Pool,DC=EF,DC=de SourceServer.FI.de; DestinationServer.SU.de; CN=user2,OU=Abgang,OU=User-Pool,DC=FI,DC=de; CN=user2,OU=Zugang,OU=User-Pool,DC=SU,DC=de SourceServer.FI.de; DestinationServer.SU.de; CN=user3,OU=Abgang,OU=User-Pool,DC=FI,DC=de; CN=user3,OU=Zugang,OU=User-Pool,DC=SU,DC=de Inhalt von Datei 2 (.vbs): ' © 2005 by Uwe Berendt option explicit Dim fso, f, Zeile, Feld, SourceServer, DestinationServer, SourceSubtree, DestinationSubtree Set f = fso.OpenTextFile ("move.txt",1,0) Do while not f.AtEndOfLine Zeile = f.readLine Feld = split(Zeile,";") SourceServer = Feld(0) DestinationServer = Feld(1) SourceSubtree = Feld(2) DestinationSubtree = Feld(3) Loop f.Close Wscript.Quit(0) Sub Benutzerverschieben (SourceServer, DestinationServer, SourceSubtree, DestinationSubtree) movetree /check /s SourceServer /d DestinationServer /sdn SourceSubtree /ddn DestinationSubtree if errorlevel 0 goto start goto exit :start movetree /start /s SourceServer /d DestinationServer /sdn SourceSubtree /ddn DestinationSubtree next End Sub Leider bricht das Script immer ab. Frage: Habe ich an irgendeiner Stelle im Script einen Fehler gemacht? Oder kann MoveTree nur in einer cmd-Datei ausgeführt werden? Wie müsste diese cmd dann aussehen? Vielen Dank im Voraus!
  2. Hallo stmen! Danke für die schnelle Antwort. Leider führte Dein Vorschlag auch nicht zur Lösung. Der Zustand ist unverändert. Der Benutzer wird sauber in der Domäne eingerichtet und die Gruppen werden nicht mit übergeben. Eine E-Mail kann ich Dir über das Forum leider nicht senden, da ich noch neu bin und est eine bestimmte Anzahl Beiträge erreicht habe. Das Sript ist außerdem Vollständig dargestellt. Dentext einfach aus dem Forum kopieren und als *.vbs abspeichern. Die Textdatei pal29.txt sieht folgendermaßen aus: 12345678;windows;Name1, Vorname1;Azubi PAL 29A;Gruppe1|Gruppe2|Gruppe3 87654321;windows;Mame2, Vorname2;Azubi PAL 29A;Gruppe1|Gruppe2|Gruppe3 Durch kopieren kann auch der Text in eine einfache Textdatei übernommen werden (gesamt 2 Zeilen).
  3. Wer kann schnell helfen? Ich habe ein Script zum anlegen von Nutzern in einer Dömäne. Soweit funktioniert alles ganz gut, aber im letzten Teil sollen die Nutzer bestimmte Gruppen zugewiesen bekommen und das geht leider nicht. Da ich mich nicht so gut mit den VB-Scripts auskenne finde ich den Fehler nicht. Als Betriebssystem wird beim Server WinNT 4 eingesetzt. Hier das Script: msg = "Kurzbeschreibung:" & vbCr & "Dieses Skript legt automatisiert neue Konten an und liest die dafür nötigen Angaben aus C:\Nutzer.TXT. LEGEN SIE DIESE DATEI AN, BEVOR SIE DAS SKRIPT STARTEN!" & vbCr & vbCr & "Wollen Sie das Skript jetzt ausführen?" antwort = MsgBox(msg, vbYesNo + vbQuestion) if antwort = vbNo then MsgBox "Abbruch", vbExclamation WScript.Quit end if protokoll = "C:\protokoll.txt" ' Das WScript.Network-Objekt liefert den Namen des Computers, ' der als Vorgabe angeboten wird 'SYS: Windows Script Host Runtime Library Set wshnet = CreateObject("WScript.Network") 'DomainName = InputBox("Bitte geben Sie den Domänennamen ein!",,net.DomainName) On Error Resume Next Set domain = GetObject("WinNT://"DOMÄNE"") If Err.number = 0 Then MsgBox "Verbindung hergestellt." Else MsgBox "Keine Verbindung zu " & DomainName WScript.Quit End If On Error Goto 0 dateiname = InputBox("Wo liegen die Kontoinformationen?",,"h:\nutzer_anlegen\pal29.txt") ' Datei öffnen Set fs = CreateObject("Scripting.FileSystemObject") If Not fs.FileExists(dateiname) Then MsgBox "Die Datei existiert am angegebenen Ort nicht!" WScript.Quit End If Set infos = fs.OpenTextFile(dateiname) ' Protokolldatei öffnen Set output = fs.CreateTextFile(protokoll, True) ' Datei zeilenweise bis zum Ende (atEndOfStream) lesen: Do Until infos.AtEndOfStream ' eine Zeile einlesen zeile = infos.ReadLine ' Informationen durch Semikola splitten details = Split(zeile, ";") ' Konto anlegen Set kontoneu = domain.Create("User", Trim(details(0))) kontoneu.SetPassword Trim(details(1)) kontoneu.fullname = Trim(details(2)) kontoneu.Description = Trim(details(3)) kontoneu.HomeDirDrive = "H:\" kontoneu.HomeDirectory = "\\"SERVER"\%username%" kontoneu.Profile = "\\"SERVER"\Benutzerprofile\%username%" kontoneu.LoginScript = "start.cmd" On Error Resume Next kontoneu.SetInfo If Err.number = 0 Then WriteLog details(0) & " angelegt." AddToGroup Trim(details(4)), kontoneu.ADsPath Else WriteLog details(0) & " konnte nicht angelegt werden!" End If Err.Clear On Error Goto 0 Loop ' Dateien schließen infos.Close output.Close ' Protokoll anzeigen: Set wshshell = CreateObject("WScript.Shell") wshshell.Run """" & protokoll & """" Sub AddToGroup(gruppenname, kontoname) On Error Resume Next gruppen = Split(gruppenname, "|") for each gruppename in gruppen Set gruppe = GetObject("WinNT://"DOMÄNE" ,domain "/" & gruppename & ,group") gruppe.Add kontoname gruppe.SetInfo next If Err.number = 0 Then WriteLog "Konto ist Mitglied in Gruppe " & gruppenname Else WriteLog "Konto konnte nicht zum Mitglied in Gruppe " & gruppenname & " gemacht werden." End If Err.Clear End Sub Sub WriteLog(text) ' eine Zeile ins Protokoll schreiben output.WriteLine text End Sub ' Ende des Scipts Also, der Nutzer wird angelegt, aber keine Gruppe (außer DomänenBenutzer) zugeordnet. Warum? Wer kann helfen?
×
×
  • Neu erstellen...