Zum Inhalt wechseln


Foto

OU per Script anlegen


  • Bitte melde dich an um zu Antworten
12 Antworten in diesem Thema

#1 Kristian007

Kristian007

    Newbie

  • 9 Beiträge

Geschrieben 07. November 2006 - 08:34

Hallo an alle, so damit hätte ich die Regel 7 eingehalten :) Danke für den Hinweis.

Nochmal zu meiner Frage:
Ich bräuchte ein Script mit dem man im AD in einer bestimmten OU weitere OU´s anlegen kann, die sich in einer txt befinden.
Die txt soll ganz einfach aussehen

Beispiel txt:
Allgemein
Betrieb

Kann mir da jemand helfen ?
Danke euch im Voraus.

#2 woiza

woiza

    Board Veteran

  • 2.056 Beiträge

Geschrieben 07. November 2006 - 08:35

Hi,

steht pro Zeile immer eine OU?

#3 Kristian007

Kristian007

    Newbie

  • 9 Beiträge

Geschrieben 07. November 2006 - 09:02

Ja, in jeder Zeile der txt steht der Name der OU, die anlegen möchte.

#4 Daim

Daim

    Expert Member

  • 4.542 Beiträge

Geschrieben 07. November 2006 - 09:11

Servus,

hier findest Du bereits einen Ansatz zum Script.
Versuche es mal damit:
Microsoft Corporation
Viele Grüße aus Mainz
Yusuf Dikmenoglu
LDAP://Yusufs.Directory.Blog/
Twitter: YusufsDSBlog

#5 Kristian007

Kristian007

    Newbie

  • 9 Beiträge

Geschrieben 07. November 2006 - 09:31

Hallo Daim, danke für die Info.

Ich kenne die Sript Seite und habe mich damit auch schon befasst. Brauche nur aktuell das Script dringend und komme einfach nicht weiter, wenn ich das ganze aus einer txt auslesen möchte.

#6 woiza

woiza

    Board Veteran

  • 2.056 Beiträge

Geschrieben 07. November 2006 - 09:38

Hi,

ich denke, heute Mittag kann ich dir das kurz basteln. Ist nicht weiter kompliziert, eigentlich.

Gruß

woiza

#7 woiza

woiza

    Board Veteran

  • 2.056 Beiträge

Geschrieben 07. November 2006 - 11:49

Bitteschön...

Dim objFSO, objInputFile, strOU, objRootOU, objNewOU

'Hier anpassen
Const filePath = "c:\ou.txt"
Const strStartOU = "ou=test1,dc=test,dc=local"
'Hier nicht ;-)
Const forReading = 1

'File öffnen
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objInputFile = objFSO.OpenTextFile (filePath, ForReading)

'StartOU holen
Set objRootOU = GetObject("LDAP://" & strStartOU)

'Loop über alle Zeilen des File
Do Until objInputFile.AtEndOfStream

	strOU = objInputFile.ReadLine
	
	'strOU anlegen
	Set objNewOU = objRootOU.create("organizationalUnit", "ou=" & strOU)
	objNewOU.setInfo

Loop

objInputFile.Close


#8 lefg

lefg

    Expert Member

  • 15.768 Beiträge

Geschrieben 07. November 2006 - 12:04

Hallo,

:create OU for Group
dsadd OU "OU=%Group%,%domain%"
rem pause

Das Messbare messen, das Nichtmessbare messbar machen. Galilei.

#9 Kristian007

Kristian007

    Newbie

  • 9 Beiträge

Geschrieben 07. November 2006 - 13:24

Hallo Woiza, vielen Dank für deine Mühe.

Habe aber noch eine Frage.

Wenn der Name einer OU mit Leerzeichen versehen ist, wie kann ich das ganze dann in der Const strStartOU angeben ?

Ich weiß ****, aber ist nicht auf meinem Mist gewachsen :)
Danke Dir.

#10 woiza

woiza

    Board Veteran

  • 2.056 Beiträge

Geschrieben 07. November 2006 - 15:56

Hi, ganz einfach, die Zeile müsste dann so aussehen:

Const strStartOU = """ & "ou=test1,dc=test,dc=local" & """

#11 Kristian007

Kristian007

    Newbie

  • 9 Beiträge

Geschrieben 13. November 2006 - 10:34

Hallo Woiza, danke nochmal für deine Hilfe.

Habe jetzt noch ein Problem. Wenn ich das Script ausführe, dann bekomme ich die Fehlermeldung : Expected end of statement

In folgender Reihe:
Const strStartOU = """& " ou=1100,ou=1000,ou=FSrv,ou=Master Service ,dc=ibm,dc=local"& """

Danke

#12 grizzly999

grizzly999

    Super Moderator

  • 17.691 Beiträge

Geschrieben 13. November 2006 - 10:46

Das erste Script funktioniert einwandfrei, auch bei Leerzeichen im vorhandenen OU-Namen. Dazu muss der DN der OU nur in Anführungszeichen gesetzt werden, was in dem Script ja der Fall ist.
Anm.: Ich habe das Script bei mir getestet, mit DEINER OU Struktur, un d es geht ;)


grizzly999
MVP [Windows Server - Directory Services]

www.ServerHowTo.de -Das MCSEboard.de HowTo Projekt ist online!

#13 woiza

woiza

    Board Veteran

  • 2.056 Beiträge

Geschrieben 13. November 2006 - 12:51

Hi,

habs jetzt auch noch mal mit Leerzeichen versucht und kein Problem bekommen. Die doppelten Leerzeichen, die ich dir geraten habe, brauchst du in dem Fall nicht. Es gibt aber andere, in denen ADSI bei Leerzeichen "ab****t".


Gruß

woiza