Tidak ada mekanisme yang terdokumentasi yang saya ketahui untuk mengubah akhiran UPN default yang dipilih oleh Pengguna dan Komputer Direktori Aktif. Saya percaya bahwa alat ini terprogram untuk mengambil bagian pertama dari atribut "canonicalName" yang didefinisikan pada objek "crossRef" untuk domain yang ditentukan dalam "CN = Partitions, CN = Configuration, ..." di hutan Anda.
Pengguna AD dan Komputer kebetulan terprogram untuk melakukan ini. Jika Anda membuat akun pengguna menggunakan cara lain ("NET USER ... / add", misalnya) maka tidak ada atribut userPrincipalName yang akan ditetapkan ke akun. Akhiran UPN default benar-benar hanya default di AD Users and Computers, bukan default dari layanan direktori itu sendiri.
Jika Anda menemukan artikel Microsoft KB dengan skrip di dalamnya yang menunjukkan kepada Anda cara mendapatkan akhiran UPN secara terprogram ( http://support.microsoft.com/default.aspx?scid=kb;en-us;Q269441 ), berhati-hatilah bahwa skrip memiliki beberapa kesalahan sintaksis di dalamnya (baris 17 dan 32 salah format dan srrNamingContext pada baris 32 harus strNamingContext). Saya akan menyertakan versi tetap dengan perbaikan kecil di akhir posting ini (ini menunjukkan kepada Anda nama-nama OU individu di mana sufiks UPN tambahan mungkin didefinisikan).
Saya ingin dikoreksi oleh seseorang yang lebih "tahu" daripada saya, tetapi saya tidak melihat cara apa pun untuk membuat Pengguna AD dan Komputer bertindak berbeda.
' --- 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
Ini tidak dapat dilakukan sejauh yang saya tahu (jawaban Evan masih benar 4 tahun kemudian).
Yang mengatakan, saya telah menulis skrip yang berjalan di penjadwal tugas setiap beberapa jam di lebih dari satu klien. Ia mencari sufiks tertentu (default dalam kebanyakan kasus) dan mengubahnya ke yang lain. Scriptnya ada di blog saya tapi saya juga akan mempostingnya di sini :)
Dalam hal ini, pengguna yang dibuat dengan
ad.example.com
sufiks UPN akan diperbarui denganexample.com
sufiks.sumber
Anda dapat mengatur Sufiks UPN yang diizinkan, dengan masuk ke ADSIEDIT.MSC, tancapkan ke Struktur OU, klik kanan OU (dalam konfigurasi default), dan edit Atribut OU. Atribut OU yang akan diedit adalah UPNSuffixes. Namun ini tidak mempengaruhi, UPN default yang ditetapkan untuk pengguna yang dibuat dalam OU itu. Tambahkan Sufiks UPN yang diinginkan ke daftar ini. Selanjutnya, buat pengguna templat untuk disalin. Klik kanan OU, buat pengguna baru untuk digunakan sebagai templat, tetapkan Sufiks UPN yang benar, lalu klik kanan pengguna setelah membuat dan menonaktifkan akun. Untuk membuat pengguna baru, klik kanan pengguna template dan salin .. isi bidang yang dipilih, dan pengguna baru akan dibuat dengan UPN yang tepat. Buat beberapa pengguna templat untuk UPNS yang berbeda. Atau, jika ragu, beralihlah ke PowerShell.
sumber
Sebenarnya, Anda dapat menjalankan di Modul Direktori Aktif untuk Powershell: Set-ADOrganizationalUnit "OU = XXX, DC = Domain, DC = com" -Tambahkan @ {upnsuffixes = "@ UPNSuffix.com".
Atau Anda dapat menggunakan "Get-adorganizationalUnit" dengan -Filter switch dan pipa itu ke 'Set-ADOrganizationalUnit -Tambahkan @ {upnsuffixes = "@ UPNSuffix.com"'
Saya menemukan ini setelah mencari cukup lama, jadi saya harap ini membantu siapa pun.
sumber
Artikel teknik ini menjelaskan cara menambah atau menghapus akhiran UPN di domain Anda:
http://technet.microsoft.com/en-us/library/cc756018(WS.10).aspx
Ada juga diskusi di sini:
http://technet.microsoft.com/en-us/library/cc739093(WS.10).aspx
Saya tidak bisa menjaminnya secara pribadi karena saya tidak pernah harus melakukan ini, tetapi satu hal muncul dalam pikiran. Jika Anda akan melakukan ini, Anda harus ingat bahwa sementara AD akan bekerja dengan benar, hal yang sama mungkin tidak berlaku untuk perangkat lunak pihak ke-3 yang Anda miliki, yang mungkin mengasumsikan bahwa akhiran UPN selalu merupakan yang standar . Pertimbangkan konsekuensinya dengan cermat sebelum melakukan perubahan, dengan kata lain.
sumber