Jump to content

-dar-

Members
  • Gesamte Inhalte

    2
  • Registriert seit

  • Letzter Besuch

Profile Fields

  • Member Title
    Newbie

Fortschritt von -dar-

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. Lösung: Teil 1 - auslesen samaccountname + legacyExchangeDN ---------------- set fs = CreateObject ("Scripting.FileSystemObject") datei1 = "legExchDN.txt" Set userinfo = fs.CreateTextFile (datei1,true) userinfo.writeline "SamAccountName legacyExchangeDN" Set root = GetObject ("LDAP://rootDSE") dom = Inputbox("Domain:","ADSPath",root.Get("defaultNamingContext")) If dom = "" Then MsgBox "Script wird auf Benutzerwunsch hin abgebrochen." Wscript.Quit else dom = "<LDAP://" & dom End If Set objConnection = CreateObject("ADODB.Connection") objConnection.Open "Provider=ADsDSOObject;" Set objCommand = CreateObject("ADODB.Command") objCommand.ActiveConnection = objConnection objCommand.CommandText = dom & ">;(&(objectCategory=person)(objectClass=user)(legacyExchangeDN=*));ADsPath;subtree" Set objRecordSet = objCommand.Execute While Not objRecordset.EOF strADsPath = objRecordset.Fields("ADsPath") Set objUser = GetObject(strADsPath) userinfo.writeline objuser.samaccountname & vbtab & objuser.legacyExchangeDN objrecordset.MoveNext set objuser = nothing Wend userinfo.close Set userinfo= Nothing set fs = Nothing wscript.echo "Fertig..." ---------------- Teil 2 - setzen der X.500 Adresse für alle Benutzer aus Teil 1 ---------------- Const ForReading = 1 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile("x500.txt", ForReading) Do Until objTextFile.AtEndOfStream strNextLine = objTextFile.Readline arr = Split(strNextLine , chr(9)) SetProxyAddressForUser arr(0),arr(1) 'Parameter: Benutzer, X500-Adresse Loop Sub SetProxyAddressForUser(sUser,sAddress) ' WScript.Echo sUser & ";" & sAddress Set oUser = GetObject ("LDAP://CN=" & sUser & ",OU=domain user,DC=dom1,DC=local") vProxyAddresses = oUser.ProxyAddresses nProxyAddresses = UBound(vProxyAddresses) bFound=False for i = 0 to nProxyAddresses If vProxyAddresses(i) = sAddress then bFound = True Exit For End If next If not bFound then Redim Preserve vProxyAddresses(nProxyAddresses + 1) vProxyAddresses(nProxyAddresses + 1) = sAddress oUser.ProxyAddresses = vProxyAddresses oUser.SetInfo End If End Sub wscript.echo "Fertig..." ---------------- ich weiss nicht, ob noch etwas optimiert werden sollte, aber es funktioniert erstmal ;) Grüße
  2. Guten Abend, ich bin gerade dabei, ein vbs-Script zu schreiben, nur klappt dies nicht so ganz. Was habe ich vor: - ich möchte die Felder Vorname, Nachname, LegacyExchangeDN aus dem AD (AD1) auslesen und in eine TXT-Datei schreiben. - im anderen AD (AD2) will ich, nach Anpassung der TXT-Datei, das Feld proxyaddresses füllen, für die gleichen Benutzer. Die Benutzer gibt es sowohl im AD1, als auch im AD2. Kann mir jemand Starthilfe geben, um mein derzeitiges Wirrwarr im Kopf zu entwirren? Danke.
×
×
  • Neu erstellen...