dersven2
Goto Top

Active Directory Attribut aendern

.

Hey Leute

Ich versuche unser AD zu aendern (wir wanderen mit userer Domaine gerade in einen neuen Forest und da passiert leider etwas unangenehmes:

Jeder User mit Mailadresse hat nun in das Attribut "legacyExchangeDN" "\" eingespeichert.

z.B. Atrribut "LegacyExchangeDN":
/o=%Domainname%/ou=Exchange Administrative Group (ADWSDE2342)/cn=Recipients/cn=Lastname\, Firstname

Unser neuer Exchange mag den "\" aber so gar nicht. Also muss ich aus jedem Account das "\" entfernen. Was bei der Zahl unser USer hier wohl lange dauert wenn ich das von Hand mache.

Daher will ich das wenn moeglich mit Skript machen, haenge aber bei einer bestimmten Stelle.

Ich kann das Atribut auslesen, es ein ein .txt fuer jeden User geben usw. aber ich schaff es nicht das Ding zu aendern.
(Ich dachte an irgendwas mit replace "\", "" oder so aehnlich)

Ich hoffe der Hintergrund ist verstaendlich - Alles in allem brauche ich von jedem USeraccount dem attribut den "\" nicht mehr oder weniger face-smile

Ich habe ein paar Skripte gefunden die mit objRecordSet.put arbeiten, leider funktioniert das nicht bei mir.
(http://www.winfrastructure.net/article.aspx?BlogEntry=VBScript-to-modif ..)

Hier was ich bisher zusammen habe und das Attribut schon mal echo't:
(Bitte verzeiht wenn nicht alles richtig im Skript ist. Es funktioniert, ich bin jedoch nicht so Erfahren das ich den "besten" Weg sofort kennen wuerde)


Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
'Set objFSO=CreateObject("Scripting.FileSystemObject")


LDAP = "OU=USERS,OU=COMPANY TEST,DC=COMPANY,DC=Local"

' Select a path to save logfile:
'Set objTXT = objFSO.CreateTextFile ("C:\z\legacy_without_ServiceAccounts2.txt", ForAppending = 2)

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT legacyExchangeDN FROM 'LDAP://" & LDAP & "' " & "WHERE objectCategory='user'"

Set objRecordSet = objCommand.Execute
Call SetAccountInfo(objRecordSet)
Sub SetAccountInfo(objRecordSet)
objRecordSet.MoveFirst
Do Until objRecordSet.EOF

'IN DIESE FOLGENDE ZEILE MUESSTE WOHL DAS REPLACE REIN - zum sehen hier nur ein echo
wscript.Echo (objRecordSet.Fields("legacyExchangeDN").Value)

objRecordSet.MoveNext
Loop

wscript.echo " End of Skript!"

end sub


1000 Dank an jeden der sich die Zeit nimmt und reinschaut - egal ob es am ende Hilft oder nicht ! face-smile

Content-ID: 195276

Url: https://administrator.de/contentid/195276

Ausgedruckt am: 22.11.2024 um 22:11 Uhr

Pjordorf
Pjordorf 03.12.2012 um 16:29:41 Uhr
Goto Top
Hallo,

Zitat von @DerSven2:
Ich versuche unser AD zu aendern
Sicher das du es so machen willst?

cn=Lastname\, Firstname
Wie kommt das "\" in eure Namen denn rein? Das muss doch einen zwingenden Grund haben, oder?

Und dich mit den nebenwirkungen beim Ändern des LegacyExchangeDN schon auseinander gesetzt? Sonst nützt dir evtl. dieses Tool Microsoft Exchange Server LegacyDN Utility von MS zum Ändern.

Gruß,
Peter
DerSven2
DerSven2 03.12.2012 aktualisiert um 16:41:53 Uhr
Goto Top
Hallo Pjordorf

//edit - ich lese mir gerade deinen Link durch - danke dafuer !


2) Durch eine Software die wir von einem Externen angekauft haben. Sie arbeiten auch an einer Loesung nur dauert das einfach ewig und ich bin ja schon knapp davor es zu loesen damit wir weiter arbeiten koennen.

Ich muss mir deinen Link mal in Ruhe durchlesen.

Ansich sehe ich bisher kein Problem bei Usern (uns selbst als Tester) wenn wir es manuell geaendert haben.


Danke
Lg.
meinermeiner
meinermeiner 03.12.2012 um 16:38:04 Uhr
Goto Top
Meine Meinung...

So wenig (selten) wie es geht am AD herumdoktorn.


Leider kann ich mit einer Lösung in deinem Problem nicht helfen, darum schalt ich nun mich wieder auf stumm... face-smile
DerSven2
DerSven2 03.12.2012 aktualisiert um 22:55:28 Uhr
Goto Top
Hallo meinermeiner

Na sagen wir mal das ist nicht super hilfreich ;) - danke trotzdem fuer deinen Beitrag.

@Pjordorf
Ich muss dir recht geben mir war ncht bewusst was da alles dahinter liegt - wir sind wieder mit der Herstellerfirma in Verbindung und sehen was die machen koennen.


Mal ab von den moeglichen Konsequenzen, alleine damit ich das Skript habe und in Zukunft verwenden koennte.
Jemand eine Idee wie man ein Attribut wieder ins AD zurueck schreibt. ?

Ich habe eine sehr gute Teststellung die alles hat was ich brauche - also kein Problem etwas zu testen

Merci face-smile

//edit sieht so aus das wir legacyexchangeDN aendern muessen - wir muessen in der Testdomaine noch die Aenderungen testen. Aber meine Suche ist damit noch immer aktuell face-smile
DerSven2
DerSven2 03.12.2012 um 17:08:43 Uhr
Goto Top
DerSven2
DerSven2 04.12.2012 um 15:26:47 Uhr
Goto Top
Hey - suche noch immer nach einer Loesung falls jemand was beitragen kann, DAnke !
meinermeiner
meinermeiner 05.12.2012 um 12:08:59 Uhr
Goto Top
Massenänderung im AD mit LDIFDE hier - Modify


evtl. hilft es dir bei deinem Problem