Ustaw domyślny sufiks UPN do tworzenia nowych użytkowników w usłudze Active Directory

12

Czy istnieje sposób ustawienia domyślnego sufiksu UPN do tworzenia nowych użytkowników Active Directory?

Na przykład, jeśli mam domenę AD corp.mydomain.com i dodałem alternatywny sufiks UPN w obszarze Domeny i relacje zaufania, który jest po prostu mydomain.com, czy istnieje sposób, aby domena ta była domyślna podczas tworzenia nowej użytkownicy?

Wiem, że mogę po prostu utworzyć użytkownika szablonu, a kiedy go skopiuję, będzie miał odpowiedni domyślny sufiks, ale jestem ciekawy, czy istnieje ukryte ustawienie, które to kontroluje.

Adam Brand
źródło

Odpowiedzi:

8

Nie mam udokumentowanego mechanizmu, o którym wiem, że mógłby zmienić domyślny sufiks UPN wybierany przez użytkowników i komputery usługi Active Directory. Wydaje mi się, że narzędzie ma stałe połączenie z pierwszą częścią atrybutu „canonicalName” zdefiniowanego w obiekcie „crossRef” dla domeny określonej w „CN = partycje, CN = konfiguracja ...” w twoim lesie.

Użytkownicy i komputery AD są po prostu podłączeni do tego celu. Jeśli utworzysz konta użytkowników przy użyciu innych środków (na przykład „NET USER ... / add”), wówczas do konta nie zostanie przypisany żaden atrybut userPrincipalName. Domyślny sufiks UPN jest tak naprawdę tylko domyślny dla użytkowników i komputerów AD, a nie domyślny samej usługi katalogowej.

Jeśli natrafisz na artykuł Microsoft KB ze skryptem, który pokazuje, jak programowo uzyskać domyślny sufiks UPN ( http://support.microsoft.com/default.aspx?scid=kb;en-us;Q269441 ), Uwaga: skrypt zawiera kilka błędów składniowych (wiersze 17 i 32 są zniekształcone, a srrNamingContext w wierszu 32 powinien mieć postać strNamingContext). Na końcu tego postu dołączę poprawioną wersję z drobną poprawką (pokazuje nazwy poszczególnych jednostek organizacyjnych, w których można zdefiniować dodatkowe sufiksy UPN).

Chciałbym być poprawiony przez kogoś bardziej „znającego się na mnie” niż ja, ale nie widzę żadnego sposobu, aby użytkownicy i komputery AD działali inaczej.

' --- 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
Evan Anderson
źródło
Miałem nadzieję, że jest jakiś wpis do rejestru lub coś takiego. Oznaczę to jako poprawne, jeśli nikt inny nie wejdzie w nic w ciągu najbliższych 24 godzin.
Adam Brand
W naszym przypadku uruchamiamy codzienny skrypt, który sprawdza UPN każdego użytkownika, a jeśli nie ma standardowego nazewnictwa, zmienia go na standardowy. Ten skrypt sprawdza wiele atrybutów i poprawia je w razie potrzeby.
KAPes,
@KAPes: To fajny pomysł. W witrynach, w których wielu delegowanych administratorów AD tworzy konta użytkowników, zwykle instalowałem skrypty do wykonywania większości zadań związanych z udostępnianiem. Mimo to widziałem, że w skryptach pojawia się kilka zapytań LDAP, aby wygenerować „Hej, manekinie - źle to przygotowałeś!” e-maile (lub, oczywiście, aby automatycznie naprawić rzeczy, gdy komputer ma wystarczającą ilość informacji, aby zrobić to automatycznie).
Evan Anderson,
Odpowiedź Evana jest nadal poprawna. Niektórzy sugerowali także ustawienie atrybutu uPNSuffixes w jednostce organizacyjnej. Spowoduje to po prostu nadpisanie listy przyrostków uPNS w domenie, ale nadal będzie domyślną nazwą kanoniczną domeny.
charleswj81
8

O ile mi wiadomo, nie można tego zrobić (odpowiedź Evana nadal jest prawdą 4 lata później).

To powiedziawszy, napisałem skrypt, który działa w harmonogramie zadań co kilka godzin na więcej niż jednym kliencie. Wyszukuje określony sufiks (w większości przypadków domyślny) i przełącza go na inny. Skrypt jest na moim blogu, ale opublikuję go tutaj :)

Import-Module ActiveDirectory


Get-ADUser -Filter {UserPrincipalName -like "*@ad.example.com"} -SearchBase "OU=SomeUserOu,DC=ad,DC=example,DC=com" |
ForEach-Object {
    $UPN = $_.UserPrincipalName.Replace("ad.example.com","example.com")
    Set-ADUser $_ -UserPrincipalName $UPN
}

W takim przypadku użytkownicy utworzeni z ad.example.comsufiksem UPN zostaną zaktualizowani z example.comsufiksem.

MDMarra
źródło
Zacząłem myśleć o używaniu powiadomień o zmianie AD do robienia tego rodzaju rzeczy w czasie rzeczywistym, ale byłoby to głupie przesadne działanie.
Evan Anderson
1
UPN staje się coraz ważniejszy dzięki O365 i wymaganiom dirsync dla jednokrotnego logowania ADFS. Można by pomyśleć, że do tej pory będzie coś upieczonego :)
MDMarra
Czasami myślę, że jestem jedyną osobą, która faktycznie korzysta z produktów Microsoft. > uśmiech <Przygotowuję się do mojej pierwszej implementacji Office365 w ciągu najbliższych kilku tygodni (pełna w / hybrydowa wymiana na miejscu / poza witryną), więc wkrótce będę mógł doświadczyć całej tej funkcji logowania jednokrotnego ADFS i DirSync dość.
Evan Anderson
Nie wykonuję bezpośrednio O365 (mamy kilku współpracowników), ale wykonałem trochę pracy w usłudze Intune, która korzysta z tej samej usługi AD dzierżawy platformy Azure. Mam nadzieję, że twoja pierwsza jazda jest płynniejsza niż moja :)
MDMarra,
Dodanie notatki, że w .Replace rozróżniana jest wielkość liter, więc jeśli UserPrincipalName to „nazwa_uż[email protected]”, nie będzie pasować do ciągu „ad.example.com”. Może to być najpierw dodanie metody .toLower (): $ UPN = $ _. UserPrincipalName.toLower (). Zamień („ad.example.com”, „example.com”)
Chad Rexin
0

Możesz ustawić dozwolone sufiksy UPN, wchodząc do ADSIEDIT.MSC, podłącz do struktury jednostki organizacyjnej, kliknij prawym przyciskiem myszy jednostkę organizacyjną (w konfiguracji domyślnej) i edytuj atrybuty jednostki organizacyjnej. Atrybut OU do edycji to UPNSuffixes. Nie wpływa to jednak na domyślną nazwę UPN przypisaną do użytkownika utworzonego w tej jednostce organizacyjnej. Dodaj żądany sufiks UPN do tej listy. Następnie utwórz szablon użytkownika do skopiowania. Kliknij prawym przyciskiem myszy jednostkę organizacyjną, utwórz nowego użytkownika do użycia jako szablon, przypisz poprawny sufiks UPN, a następnie kliknij prawym przyciskiem myszy użytkownika po utworzeniu i wyłącz konto. Aby utworzyć nowego użytkownika, kliknij prawym przyciskiem myszy użytkownika szablonu i skopiuj .. wypełnij wybrane pola, a nowy użytkownik zostanie utworzony z właściwą nazwą UPN. Utwórz wielu użytkowników szablonów dla różnych UPNS. Lub w razie wątpliwości przejdź do PowerShell.

Justin Robbins
źródło
-3

W rzeczywistości można uruchomić w module Active Directory dla programu PowerShell: Set-ADOrganizationalUnit "OU = XXX, DC = Domena, DC = com" -Dodaj @ {upnsuffixes = "@ UPNSuffix.com".

Lub możesz użyć „Get-adorganizationalUnit” z przełącznikiem -Filter i potokować go do „Set-ADOrganizationalUnit -Add @ {upnsuffixes =" @ UPNSuffix.com ”

Znalazłem to po dłuższej perspektywie, więc mam nadzieję, że to pomoże każdemu.

Herb Huddleston
źródło
Pytanie dotyczy ustawienia domyślnego sufiksu dla dodawania nowych użytkowników, a nie dodawania sufiksu upn.
austriacki
-4

W tym artykule opisano, jak dodawać lub usuwać sufiksy UPN w domenie:

http://technet.microsoft.com/en-us/library/cc756018(WS.10).aspx

Tutaj jest też dyskusja na ten temat:

http://technet.microsoft.com/en-us/library/cc739093(WS.10).aspx

Nie mogę ręczyć za to osobiście, ponieważ nigdy nie musiałem tego robić, ale jedno przychodzi mi na myśl. Jeśli zamierzasz to zrobić, musisz pamiętać, że chociaż AD będzie działać poprawnie, to samo może nie mieć miejsca w przypadku żadnego oprogramowania firm trzecich, które może zakładać, że sufiks UPN jest zawsze standardowy . Innymi słowy, dokładnie przeanalizuj konsekwencje przed dokonaniem zmiany.

Maximus Minimus
źródło
2
Tak, wiem jak dodać sufiksy UPN. Moje pytanie dotyczyło ustawienia domyślnego sufiksu dodawania nowych użytkowników.
Adam Brand