Es gibt keinen dokumentierten Mechanismus, mit dem ich das standardmäßige UPN-Suffix ändern kann, das von Active Directory-Benutzern und -Computern ausgewählt wird. Ich glaube, dass das Tool fest verdrahtet ist, um den ersten Teil des Attributs "canonicalName" zu übernehmen, das im Objekt "crossRef" für die in "CN = Partitions, CN = Configuration, ..." angegebene Domäne in Ihrer Gesamtstruktur definiert ist.
AD-Benutzer und -Computer sind zu diesem Zweck einfach nur fest verdrahtet. Wenn Sie Benutzerkonten auf andere Weise erstellen (z. B. "NET USER ... / add"), wird dem Konto kein userPrincipalName-Attribut zugewiesen. Das standardmäßige UPN-Suffix ist eigentlich nur ein Standard in AD Users and Computers, kein Standard des Verzeichnisdienstes.
Sollte der Microsoft-KB-Artikel mit einem Skript angezeigt werden, das Ihnen zeigt, wie Sie das standardmäßige UPN-Suffix programmgesteuert abrufen ( http://support.microsoft.com/default.aspx?scid=kb;en-us;Q269441 ), Beachten Sie, dass das Skript einige Syntaxfehler enthält (Zeilen 17 und 32 sind fehlerhaft und srrNamingContext in Zeile 32 sollte strNamingContext lauten). Ich werde eine feste Version mit einer geringfügigen Verbesserung am Ende dieses Beitrags einfügen (sie zeigt Ihnen die Namen der einzelnen Organisationseinheiten, in denen zusätzliche UPN-Suffixe definiert werden könnten).
Ich würde gerne von jemandem korrigiert werden, der sich besser auskennt als ich, aber ich sehe keine Möglichkeit, AD-Benutzer und -Computer dazu zu bringen, sich anders zu verhalten.
' --- Get the naming contexts ----
Set RootDSE = GetObject("LDAP://RootDSE")
strNamingContext = RootDSE.Get("defaultNamingContext")
strConfigContext = RootDSE.Get("configurationNamingContext")
' -- Get the current domain name --
Set oDomain = GetObject("LDAP://" + strNamingContext)
strDomainName = oDomain.Get("name")
Set oPartition = GetObject("LDAP://CN=Partitions," & strConfigContext)
'-- Get the DNS name of the domain --
oDomain.GetInfoEx Array("canonicalName"), 0
strCanonical = oDomain.Get("canonicalName")
strDNSName = Left(strCanonical, Len(strCanonical) - 1) 'clip off "/"
'-- Display the default UPN suffix
wscript.echo strDNSName
'-- Get the defined upnSuffixes --
suffixes = oPartition.GetEx("UPNSuffixes")
For Each upnSuffix In suffixes
wscript.echo upnSuffix
Next
Set RootDSE = Nothing
Set oDomain =Nothing
Set oPartition = Nothing
' -- Get the upnsuffixes defined on organizational units --
Set ADOconn = CreateObject("ADODB.Connection")
Set ADOcom = CreateObject("ADODB.Command")
ADOconn.Provider = "ADsDSOObject"
bstrADOQueryString = "<LDAP://" + strNamingContext + ">;(objectcategory=organizationalUnit);upnsuffixes,ADsPath;subtree"
wscript.echo bstrADOQueryString
ADOconn.Open
ADOcom.ActiveConnection = ADOconn
ADOcom.CommandText = bstrADOQueryString
ADOcom.Properties("Page Size") = 99
Set objRS = ADOcom.Execute
While Not objRS.EOF
If Not IsNull(objRS.Fields("upnSuffixes")) Then
upnsuffixes = objRS.Fields("upnSuffixes")
For Each upnsuffix In upnsuffixes
wscript.echo objRS.Fields("adsPath") & " - Suffix: " & upnsuffix
Next
End If
objRS.MoveNext
Wend
Set objRS = Nothing
Set ADOcom = Nothing
Set ADOconn = Nothing
Soweit ich weiß, ist dies nicht möglich (Evans Antwort ist auch nach 4 Jahren noch richtig).
Trotzdem habe ich ein Skript geschrieben, das alle paar Stunden auf mehr als einem Client im Taskplaner ausgeführt wird. Es sucht nach einem bestimmten Suffix (in den meisten Fällen der Standard) und wechselt zu einem anderen. Das Skript ist in meinem Blog, aber ich werde es auch hier posten :)
In diesem Fall werden Benutzer, die mit einem
ad.example.com
UPN-Suffix erstellt wurden, mit einem Suffix aktualisiertexample.com
.quelle
Sie können die zulässigen UPN-Suffixe festlegen, indem Sie ADSIEDIT.MSC aufrufen, die OU-Struktur aufrufen, mit der rechten Maustaste auf die OU klicken (in der Standardkonfiguration) und die OU-Attribute bearbeiten. Das zu bearbeitende OU-Attribut ist UPNSuffixes. Dies wirkt sich jedoch nicht auf den Standard-UPN aus, der einem Benutzer zugewiesen ist, der in dieser Organisationseinheit erstellt wurde. Fügen Sie der Liste das gewünschte UPN-Suffix hinzu. Erstellen Sie als Nächstes einen Vorlagenbenutzer zum Kopieren. Klicken Sie mit der rechten Maustaste auf die Organisationseinheit, erstellen Sie einen neuen Benutzer, der als Vorlage verwendet werden soll, weisen Sie das richtige UPN-Suffix zu, und klicken Sie dann mit der rechten Maustaste auf den erstellten Benutzer, und deaktivieren Sie das Konto. Um einen neuen Benutzer zu erstellen, klicken Sie mit der rechten Maustaste auf den Vorlagenbenutzer und kopieren Sie ihn. Füllen Sie die ausgewählten Felder aus, und der neue Benutzer wird mit dem richtigen UPN erstellt. Erstellen Sie mehrere Vorlagenbenutzer für die verschiedenen UPNS. Oder wechseln Sie im Zweifelsfall zu Powershell.
quelle
Tatsächlich können Sie im Active Directory-Modul für Powershell Folgendes ausführen: Set-ADOrganizationalUnit "OU = XXX, DC = Domäne, DC = com" -Add @ {upnsuffixes = "@ UPNSuffix.com".
Oder Sie könnten eine "Get-adorganizationalUnit" mit einer -Filter-Option verwenden und diese an eine "Set-ADOrganizationalUnit -Add @ {upnsuffixes =" @ UPNSuffix.com "" weiterleiten.
Ich fand das nach einer Weile, also hoffe ich, dass es jedem hilft.
quelle
Dieser Technet-Artikel beschreibt, wie Sie UPN-Suffixe in Ihrer Domain hinzufügen oder entfernen:
http://technet.microsoft.com/en-us/library/cc756018(WS.10).aspx
Es gibt hier auch eine Diskussion darüber:
http://technet.microsoft.com/en-us/library/cc739093(WS.10).aspx
Ich kann nicht persönlich dafür bürgen, da ich das noch nie machen musste, aber eines fällt mir ein. Wenn Sie dies tun, müssen Sie berücksichtigen, dass AD zwar ordnungsgemäß funktioniert, dies jedoch möglicherweise nicht für die Software von Drittanbietern der Fall ist, die davon ausgeht, dass das UPN-Suffix immer das Standard-Suffix ist . Überlegen Sie sich die Konsequenzen genau, bevor Sie die Änderung vornehmen.
quelle