Name, Vorname in globaler Adressliste (Windows 2008R2, Exchange 2010)
Hallo liebe Gemeinde,
dieses Thema würde schon öfter behandelt - ich weiß. Leider bleiben bei mir noch Fragen offen, auf die ich nirgends eine Antwort finde.
1. Mit Adsiedit kann ich den DisplayName für neu erstellte Benutzer ändern. In allen Beiträgen die ich gefunden habe, wird dem Komma ein Backslash vorangestellt (Name\, Vorname). Dies dient wohl dazu, die AD Suche, die wohl mit dem Komma Probleme hat, nicht zu verwirren. Habe ich das richtig verstanden?
2. Führe ich diese Änderung durch, wird der Backslash allerdings überall mit angezeigt. Die Mitarbeiter hier im Haus könnten wohl damit leben... Allerdings wird das dann so auch als Absender von e-mails angezeigt und das geht natürlich gar nicht. Hat dafür jemand eine Erklärung/Lösung?
Ein Script (Dank an Nils Kaczenski) welches ich gefunden habe, verstehe ich so:
For each usr in objOU
if instr(usr.SamAccountName, "$") = 0 then
strName = usr.get("name")
schreibLog "Benutzer: " & usr.SamAccountName
vLast = usr.get("Sn")
vFirst = usr.get("GivenName")
vFullname = vLast + ", " + vFirst ' für den displayName
vCN = vLast + "\, " + vFirst ' für name (= cn): Komma maskieren
' displayName setzen: das geht mit "Put"
usr.put "displayName", vFullName
usr.setinfo
' name/cn setzen: erfordert Umbenennen durch die "MoveHere"-Methode!
strRenameCN = "LDAP://cn=" & strName & "," & strOU & "," & strDomain
set objUsrRename = objOU.MoveHere(strRenameCN, "cn=" & vCN)
... (Fehlerbehandlung)
Next
Der DisplayName wird ohne den Backslash in der Form "Name, Vorname" gesetzt. Damit gibt es dann wohl auch keine Probleme mit dem Absender einer Mail.
Welches ist dann aber der Name, der mit dem Backslash gesetzt wird?
Hoffentlich kann mir das jemand erklären und Lich in die Angelegenheit bringen.
Viele Grüße
Marc
dieses Thema würde schon öfter behandelt - ich weiß. Leider bleiben bei mir noch Fragen offen, auf die ich nirgends eine Antwort finde.
1. Mit Adsiedit kann ich den DisplayName für neu erstellte Benutzer ändern. In allen Beiträgen die ich gefunden habe, wird dem Komma ein Backslash vorangestellt (Name\, Vorname). Dies dient wohl dazu, die AD Suche, die wohl mit dem Komma Probleme hat, nicht zu verwirren. Habe ich das richtig verstanden?
2. Führe ich diese Änderung durch, wird der Backslash allerdings überall mit angezeigt. Die Mitarbeiter hier im Haus könnten wohl damit leben... Allerdings wird das dann so auch als Absender von e-mails angezeigt und das geht natürlich gar nicht. Hat dafür jemand eine Erklärung/Lösung?
Ein Script (Dank an Nils Kaczenski) welches ich gefunden habe, verstehe ich so:
For each usr in objOU
if instr(usr.SamAccountName, "$") = 0 then
strName = usr.get("name")
schreibLog "Benutzer: " & usr.SamAccountName
vLast = usr.get("Sn")
vFirst = usr.get("GivenName")
vFullname = vLast + ", " + vFirst ' für den displayName
vCN = vLast + "\, " + vFirst ' für name (= cn): Komma maskieren
' displayName setzen: das geht mit "Put"
usr.put "displayName", vFullName
usr.setinfo
' name/cn setzen: erfordert Umbenennen durch die "MoveHere"-Methode!
strRenameCN = "LDAP://cn=" & strName & "," & strOU & "," & strDomain
set objUsrRename = objOU.MoveHere(strRenameCN, "cn=" & vCN)
... (Fehlerbehandlung)
Next
Der DisplayName wird ohne den Backslash in der Form "Name, Vorname" gesetzt. Damit gibt es dann wohl auch keine Probleme mit dem Absender einer Mail.
Welches ist dann aber der Name, der mit dem Backslash gesetzt wird?
Hoffentlich kann mir das jemand erklären und Lich in die Angelegenheit bringen.
Viele Grüße
Marc
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 208022
Url: https://administrator.de/contentid/208022
Ausgedruckt am: 25.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Marc,
in dem Script wird für den CN = "Common Name"(The name that represents an object. Used to perform searches.) das Komma maskiert weil in einem LDAP-String das Komma als Trennung zwischen den jeweiligen Einheiten verwendet wird siehe Bsp.:
siehe auch hier
Grüße Uwe
in dem Script wird für den CN = "Common Name"(The name that represents an object. Used to perform searches.) das Komma maskiert weil in einem LDAP-String das Komma als Trennung zwischen den jeweiligen Einheiten verwendet wird siehe Bsp.:
CN=James Smith, CN=Users, DC=server, DC=local
Grüße Uwe
Hallo Marc,
denke du musst die einzelnen Attribute wie "DisplayName" nach dem umbenennen des Accounts setzen da sonst der Backslash mit Move-Aktion mit in den DisplayName übernommen wird.
Siehe ein Beispiel-Script hier:
http://mctexpert.blogspot.de/2009/09/renaming-user-accounts-in-active.h ...
Grüße Uwe
denke du musst die einzelnen Attribute wie "DisplayName" nach dem umbenennen des Accounts setzen da sonst der Backslash mit Move-Aktion mit in den DisplayName übernommen wird.
Siehe ein Beispiel-Script hier:
http://mctexpert.blogspot.de/2009/09/renaming-user-accounts-in-active.h ...
Grüße Uwe
Das Script sollte funktionieren:
Grüße Uwe
strOU = "OU=DeineOU,DC=deinedomain,DC=local" ' Change this line to reflect your environment.
Set objOU = GetObject("LDAP://" & strOU)
For each usr in objOU
if instr(usr.SamAccountName, "$") = 0 then
strName = usr.get("name")
vLast = usr.get("Sn")
vFirst = usr.get("GivenName")
vFullname = vLast + ", " + vFirst ' für den displayName
vCN = vLast + "\, " + vFirst ' für name (= cn): Komma maskieren
' name/cn setzen: erfordert Umbenennen durch die "MoveHere"-Methode!
set objUsrRename = objOU.MoveHere("LDAP://cn=" & strName & "," & strOU, "cn=" & vCN)
set objUser = GetObject("LDAP://cn=" & vCN & "," & strOU)
' displayName setzen: das geht mit "Put"
objUser.put "displayName", vFullName
objUser.setinfo
End If
Next
Grüße Uwe