Active Directory'de Yeni Kullanıcılar Oluşturmak için Varsayılan UPN Sonekini Ayarlama


12

Yeni kullanıcılar Active Directory oluşturmak için varsayılan UPN sonekini ayarlamanın bir yolu var mı?

Örneğin, AD alan adım olarak corp.mydomain.com'um varsa ve yalnızca mydomain.com olan Domains and Trusts altına alternatif bir UPN soneki eklediyim, yeni oluştururken bu alanın varsayılan olması için herhangi bir yol var mı? kullanıcılar?

Sadece bir şablon kullanıcı oluşturabileceğimi biliyorum ve daha sonra kopyaladığımda, doğru varsayılan sonek olacak, ancak sadece bunu kontrol edecek gizli bir ayar olup olmadığını merak ediyorum.

Yanıtlar:


8

Active Directory Kullanıcıları ve Bilgisayarları tarafından seçilen varsayılan UPN sonekini değiştirmeyi bildiğim belgelenmiş bir mekanizma yoktur. Aracın, ormanınızda "CN = Bölümler, CN = Yapılandırma, ..." 'da belirtilen etki alanı için "crossRef" nesnesinde tanımlanan "canonicalName" özniteliğinin ilk bölümünü almak için kablo bağlantılı olduğuna inanıyorum.

AD Kullanıcıları ve Bilgisayarları bunu yapmak için sadece kablolu olarak çalışır. Başka araçlar (örneğin "NET USER ... / add") kullanarak kullanıcı hesapları oluşturursanız, hesaba userPrincipalName özniteliği atanmaz. Varsayılan UPN soneki gerçekten AD Kullanıcıları ve Bilgisayarları için varsayılan değerdir, dizin hizmetinin varsayılanı değildir.

Microsoft KB makalesinde, varsayılan UPN sonekini program aracılığıyla nasıl elde edeceğinizi gösteren bir komut dosyası ile çalıştırırsanız ( http://support.microsoft.com/default.aspx?scid=kb;en-us;Q269441 ), betiğin içinde birkaç sözdizimi hatası olduğunu unutmayın (satır 17 ve 32 hatalı biçimlendirilmiştir ve satır 32'deki srrNamingContext strNamingContext olmalıdır). Bu yazının sonuna küçük bir iyileştirme içeren sabit bir sürüm ekleyeceğim (size ek UPN soneklerinin tanımlanabileceği ayrı OU'ların adlarını gösterir).

Benden daha fazla "bilen" biri tarafından düzeltilmesini isterim, ancak AD Kullanıcıları ve Bilgisayarları'nın farklı davranmasını sağlamak için herhangi bir yol göremiyorum.

' --- 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

Bazı kayıt defteri girdisi falan olduğunu umuyordum. Önümüzdeki 24 saat içinde kimseye bir şey girmezse bunu doğru olarak işaretleyeceğim.
Adam Brand

Bizim durumumuzda, her kullanıcının UPN'sini kontrol eden günlük bir komut dosyası çalıştırırız ve standart adlandırma yoksa, bunları standart olarak değiştirir. Bu komut dosyası birçok özelliğe bakar ve gerekirse düzeltir.
KAPes

@KAPes: Bu güzel bir fikir. Birden çok yetki verilen AD yöneticisinin kullanıcı hesapları oluşturduğu sitelerde normalde sağlama işlerinin çoğunu yapmak için komut dosyaları dağıttım. Yine de, "Hey, emzik - bunu yanlış sağladınız!" Oluşturmak için bazı LDAP sorguları yazarken görebiliyordum. e-postaları (veya açıkçası, bilgisayar otomatik olarak yapmak için yeterli bilgiye sahip olduğunda işleri otomatik olarak düzeltmek için).
Evan Anderson

Evan'ın cevabı hala doğru. Bazıları ayrıca OU'da uPNSuffixes özniteliğinin ayarlanmasını önerdi. Bu, etki alanında ayarlanan uPNSuffixes listesini geçersiz kılar, ancak yine de varsayılan olarak etki alanının kanonikAdı olur.
charleswj81

8

Bu bildiğim kadarıyla yapılamaz (Evan'un cevabı 4 yıl sonra hala doğrudur).

Bununla birlikte, birden fazla istemcide her birkaç saatte bir görev zamanlayıcısında çalışan bir komut dosyası yazdım. Belirli bir soneki (çoğu durumda varsayılan) arar ve başka bir sonekine geçirir. Senaryo blogumda ama buraya da göndereceğim :)

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
}

Bu durumda, ad.example.comUPN sonekiyle oluşturulan kullanıcılar sonekle güncellenir example.com.


Bu tür bir şeyi gerçek zamanlı olarak yapmak için AD değişiklik bildirimlerini kullanmayı düşünmeliyim, ancak bu aptalca abartılı olurdu.
Evan Anderson

1
UPN, ADFS TOA için O365 ve dirsync gereksinimleri ile giderek daha önemli hale geliyor. Şimdiye kadar pişmiş bir şey olacağını düşünürdünüz :)
MDMarra

Bazen Microsoft'un ürünlerini kullanan tek kişi olduğumu düşünüyorum . > smile <Önümüzdeki birkaç hafta içinde ilk Office365 uygulamamı yapmaya hazırlanıyorum (site içi / site dışı Exchange ile tam), bu yüzden yakında tüm ADFS TOA ve DirSync eğlencesini deneyimleyeceğim yeter.
Evan Anderson

Doğrudan O365 yapmıyorum (personel üzerinde birkaç ortak çalışanımız var), ancak aynı Azure kiracı AD'sini kullanan bazı Intune çalışmaları yaptım. Umarım ilk yolculuğunuz benimkinden daha yumuşaktır :)
MDMarra

.Replace öğesinin büyük / küçük harfe duyarlı olduğunu unutmayın, bu nedenle UserPrincipalName "kullaniciadi@AD.Example.com" ise, "ad.example.com" dizesiyle eşleşmez. Bu, ilk önce şöyle bir .toLower () yöntemi ekleyebilir: $ UPN = $ _. UserPrincipalName.toLower (). Değiştirin ("ad.example.com", "example.com")
Chad Rexin

0

İzin verilen UPN Soneklerini, ADSIEDIT.MSC'ye girerek OU Yapısına takın, OU'ya sağ tıklayın (varsayılan yapılandırmada) ve OU Özniteliklerini düzenleyin. Düzenlenecek OU Özniteliği UPNSuffixes'dir. Ancak bu, OU içinde oluşturulan bir kullanıcıya atanan varsayılan UPN'yi etkilemez. İstediğiniz UPN Sonekini bu listeye ekleyin. Ardından, Kopyalamak için bir şablon kullanıcı oluşturun. OU'ya sağ tıklayın, şablon olarak kullanmak için yeni bir kullanıcı oluşturun, doğru UPN Sonekini atayın ve ardından oluşturulduktan ve hesabı devre dışı bıraktıktan sonra kullanıcıya sağ tıklayın. Yeni bir kullanıcı oluşturmak için şablon kullanıcısına sağ tıklayın ve kopyalayın .. seçili alanları doldurun, yeni kullanıcı uygun UPN ile oluşturulacaktır. Farklı UPNS için birden çok şablon kullanıcısı oluşturun. Veya şüpheniz varsa powershell'e geçin.


-3

Aslında, Powershell için Active Directory Modülünde çalışabilirsiniz: Set-ADOrganizationalUnit "OU = XXX, DC = Etki Alanı, DC = com" -Add @ {upnsuffixes = "@ UPNSuffix.com".

Veya bir -Filter anahtarıyla "Get-adorganizationalUnit" kullanabilirsiniz ve bunu "Set-ADOrganizationalUnit -Add @ {upnsuffixes =" @ UPNSuffix.com "

Bunu bir süre aradıktan sonra buldum, umarım bu herkese yardımcı olur.


Soru, yeni kullanıcı eklemek için varsayılan bir sonek ayarlamak, upn bir sonek eklemek değil.
avusturya

-4

Bu technet makalesinde alan adınıza UPN soneklerinin nasıl ekleneceği veya kaldırılacağı açıklanmaktadır:

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

Burada da bir tartışma var:

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

Bunu asla yapmak zorunda olmadığım için şahsen kefil edemem, ama bir şey akla geliyor. Bunu yapacaksanız, AD doğru çalışacak olsa da, aynı şey sahip olduğunuz herhangi bir üçüncü taraf yazılımı için geçerli olmayabilir, bu da UPN sonekinin her zaman standart olduğunu varsayabilir. . Başka bir deyişle, değişikliği yapmadan önce sonuçları dikkatlice düşünün.


2
Evet, UPN soneklerinin nasıl ekleneceğini biliyorum. Sorum, yeni kullanıcı eklemek için varsayılan soneki ayarlamaktı.
Adam Brand
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.