0

LDAP と VB.Net 経由で AD LDS にアクセスしており、問題なくグループを作成および編成できます。ただし、ユーザーを作成しようとするたびに、specified directory object is not bound to a remote resource.SO でいくつかの同様の質問を見てきましたが、それらの解決策がうまくいかなかったという上記のエラーが表示されます。以下の 3 つのコード ブロックのいずれかを実行すると、同じエラーが発生します。

System.DirectoryServices の使用:

Dim rootEntry As DirectoryEntry = GetRootEntry()
Dim user As DirectoryEntry
Dim user_cn As String = String.Format("CN={0}{1}", firstName.Substring(0, 1), lastName)
Dim hosp_ou As String = BuildHospitalCN(HospitalName, HospitalID, "OU=Critical_Access_Hospitals")
user = rootEntry.Children.Find("OU=Users").Children.Find("OU=Critical_Access_Hospitals").Children.Find(hosp_ou).Children.Add(user_cn, "user")
With user
    .Properties("sAMAccountName").Value = String.Format("{0}{1}", firstName.Substring(0, 1), lastName)
    .Properties("givenName").Value = firstName
    .Properties("sn").Value = lastName
End With
user.CommitChanges()

System.DirectoryServices.AccountManagement の使用:

Dim ctx As New PrincipalContext(ContextType.Domain)
Dim user As New UserPrincipal(ctx, _
                              String.Format("{0}{1}", firstName.Substring(0, 1), lastName), _
                              "password", _
                              True)
user.SamAccountName = String.Format("{0}{1}", firstName.Substring(0, 1), lastName)
user.GivenName = firstName
user.Surname = lastName
user.ExpirePasswordNow()
user.Save()

LDAP経由のAD LDS専用にオンラインで見つけた例を使用します。

Dim objADAM As DirectoryEntry
Dim objUser As DirectoryEntry
Dim strDisplayName As String
Dim strPath As String
Dim strUser As String
Dim strUserPrincipalName As String

strPath = ConfigurationManager.AppSettings("LDAP_ROOT").ToString

objADAM = New DirectoryEntry(strPath, _
                             ConfigurationManager.AppSettings("LDAP_USER"), _
                             ConfigurationManager.AppSettings("LDAP_PASS"), _
                             AuthenticationTypes.None)
objADAM.RefreshCache()

strUser = String.Format("CN={0}{1}", firstName.Substring(0, 1), lastName)
strDisplayName = String.Format("{0} {1}", firstName, lastName)
strUserPrincipalName = String.Format("{0}{1}@example.com", firstName.Substring(0, 1), lastName)

objUser = objADAM.Children.Add(strUser, "user")
objUser.Properties("displayName").Add(strDisplayName)
objUser.Properties("userPrincipalName").Add(strUserPrincipalName)
objUser.CommitChanges()

どんな助けでも大歓迎です!

4

1 に答える 1

0

sAMAccountName は、この LDS リポジトリでは有効な属性ではありません。

于 2013-01-24T14:15:23.227 に答える