共用方式為


建立使用者

若要在 Active Directory 網域服務 中建立使用者,請在您要放置使用者之網域的網域容器中建立用戶物件。 用戶可以在網域的根目錄、組織單位或容器內建立。

當您建立用戶物件時,也必須設定下表所列的屬性,將物件設定為 Active Directory 網域服務 和 Windows 安全性 系統所辨識的法律使用者。

屬性 描述
快遞 之 家 指定目錄中用戶物件的名稱。 這會是對象的相對辨別名稱 (RDN)。
sAMAccountName 指定字串,這個字串是用來支援舊版 Windows 中的用戶端和伺服器的名稱。 sAMAccountName 應該小於 20 個字元,以支援舊版 Windows 的用戶端。
sAMAccountName 在網域內的所有安全性主體對象中必須是唯一的。 您應該對網域執行查詢,以確認 sAMAccountName 在網域內是唯一的。
sAMAccountName 是選擇性屬性。 如果未指定任何值,伺服器將會建立隨機 sAMAccountName 值。

您也可以設定其他屬性。 如果您未在建立時明確設定這些屬性,則會使用預設值來設定下列用戶屬性。

屬性 描述
accountExpires 指定帳戶到期的時間。 默認值為 TIMEQ_FOREVER,表示帳戶永遠不會過期。
nTSecurityDescriptor 根據特定規則建立安全性描述元。 如需詳細資訊,請參閱 如何在新的目錄對象上設定安全性描述元。
objectCategory 指定用戶類別。 預設值為 「Person」。。
name 指定使用者名稱。 預設值是針對 cn 設定的值。
pwdLastSet 指定使用者上次設定密碼的時間。 默認值為零,表示用戶必須在下次登入時變更密碼。
userAccountControl 包含值,可決定用戶的數個登入和帳戶功能。
根據預設,會設定下列旗標:
  • UF_ACCOUNTDISABLE - 帳戶已停用。
  • UF_PASSWD_NOTREQD - 不需要密碼。
  • UF_NORMAL_ACCOUNT - 代表一般使用者的預設帳戶類型。
memberOf 指定使用者是直接成員的群組或群組。 預設值為 「網域使用者」。

用戶是藉由系結至所需的容器,然後使用下列其中一種方法來建立。 在用戶認可至伺服器之前,必須先設定 cnsAMAccountName 屬性。

方法 描述
IADsContainer.Create cn 屬性取自 bstrRelativeName 參數。 必須藉由呼叫 IADs.SetInfo 來認可新的使用者,否則將不會建立物件。 如需詳細資訊,請參閱 建立使用者的範例程序代碼。
IDirectoryObject::CreateDSObject cn 屬性取自 pszRDNName 參數。 呼叫 CreateDSObject,會認可新的使用者。 如需詳細資訊,請參閱 建立使用者的範例程序代碼。
DirectoryEntries.Add cn 屬性取自 name 參數。 必須藉由呼叫 DirectoryEntry.CommitChanges 來認可新的使用者對象,否則將不會建立物件。 如需詳細資訊,請參閱 新增目錄物件

新的用戶必須先認可至伺服器,才能修改 cn sAMAccountName 以外的任何屬性。 這是因為在認可使用者之前,用戶帳戶實際上並不存在。 如果針對伺服器上不存在的物件擷取或修改屬性,就會發生錯誤。 這包括呼叫 IADsUser.SetPassword 方法。 例如,使用 IADsContainer.Create 建立使用者時,會遵循下列順序:

  1. 呼叫 IADsContainer.Create,以使用指定的 cn 在本機快取中建立使用者。
  2. 使用 IADs.Put 方法,將 sAMAccountName 屬性設定為所需的值。
  3. 現在修改其他屬性,例如 userAccountControl 這項限制也適用於 ADSI 屬性,例如 IADsUser.AccountDisabled,以及 IADsUser.SetPassword方法。
  4. 呼叫 IADs.SetInfo ,將新使用者認可到伺服器。

建立新的用戶帳戶時,預設會停用。 必須手動或以程式設計方式啟用帳戶。 若要以程式設計方式啟用用戶帳戶,請從 userAccountControl 屬性中移除 ADS_UF_ACCOUNTDISABLE 旗標。

建立新的用戶帳戶時, 帳戶的userAccountControl 屬性會自動 設定UF_PASSWD_NOTREQD 旗標,這表示帳戶不需要密碼。 如果中建立帳戶的安全策略需要所有用戶帳戶的密碼,則必須從帳戶的userAccountControl屬性中移除UF_PASSWD_NOTREQD旗標。

建立使用者的範例程序代碼