Udostępnij przez


Tworzenie użytkownika

Aby utworzyć użytkownika w usługach Active Directory Domain Services, utwórz obiekt użytkownika w kontenerze domeny domeny, w której chcesz umieścić użytkownika. Użytkownicy mogą być tworzeni w katalogu głównym domeny, w jednostce organizacyjnej lub w kontenerze.

Podczas tworzenia obiektu użytkownika należy również ustawić atrybuty wymienione w poniższej tabeli, aby ustawić obiekt jako użytkownika prawnego rozpoznawanego przez usługi Active Directory Domain Services i system zabezpieczeń systemu Windows.

Atrybut Opis
cn Określa nazwę obiektu użytkownika w katalogu. Będzie to względna nazwa wyróżniająca obiektu (RDN).
sAMAccountName Określa ciąg, który jest nazwą używaną do obsługi klientów i serwerów z poprzedniej wersji systemu Windows. sAMAccountName powinien być krótszy niż 20 znaków, aby zapewnić obsługę klientów z poprzedniej wersji systemu Windows.
sAMAccountName musi być unikalna wśród wszystkich obiektów zabezpieczeń w domenie. Należy wykonać zapytanie względem domeny, aby sprawdzić, czy sAMAccountName jest unikatowa w domenie.
sAMAccountName jest opcjonalnym atrybutem. Serwer utworzy losową wartość sAMAccountName, jeśli żadna nie zostanie określona.

Można również ustawić inne atrybuty. Następujące atrybuty użytkownika są ustawiane z wartościami domyślnymi, jeśli nie zostaną jawnie ustawione w czasie tworzenia.

Atrybut Opis
kontoWygasa Określa, kiedy konto wygaśnie. Wartość domyślna to TIMEQ_FOREVER, co oznacza, że konto nigdy nie wygaśnie.
nTSecurityDescriptor Deskryptor zabezpieczeń jest tworzony na podstawie określonych reguł. Aby uzyskać więcej informacji, zobacz Jak ustawiane są deskryptory zabezpieczeń dla nowych obiektów katalogu.
kategoriaObiektu Określa kategorię użytkownika. Wartość domyślna to "Person".
nazwa Określa nazwę użytkownika. Wartość domyślna to wartość ustawiona dla cn.
pwdLastSet Określa, kiedy użytkownik ostatnio ustawił hasło. Wartość domyślna to zero, co oznacza, że użytkownik musi zmienić hasło przy następnym logowaniu.
userAccountControl Zawiera wartości określające kilka funkcji logowania i konta dla użytkownika.
Domyślnie są ustawione następujące flagi:
  • UF_ACCOUNTDISABLE — konto jest wyłączone.
  • UF_PASSWD_NOTREQD — nie jest wymagane żadne hasło.
  • UF_NORMAL_ACCOUNT — domyślny typ konta reprezentujący typowego użytkownika.
członek Określa grupę lub grupy, których użytkownik jest bezpośrednim członkiem. Wartość domyślna to "Użytkownicy domeny".

Użytkownik jest tworzony przez powiązanie z żądanym kontenerem, a następnie przy użyciu jednej z następujących metod. Atrybuty cn i sAMAccountName należy ustawić, zanim użytkownik zostanie zatwierdzony na serwerze.

Metoda Opis
IADsContainer.Create Atrybut cn jest pobierany z parametru bstrRelativeName. Nowy użytkownik musi zostać zatwierdzony przez wywołanie IADs.SetInfo lub obiekt nie zostanie utworzony. Aby uzyskać więcej informacji, zobacz Przykładowy kod tworzenia użytkownika.
IDirectoryObject::CreateDSObject Atrybut cn jest pobierany z parametru pszRDNName. Nowy użytkownik jest zatwierdzany po wywołaniu CreateDSObject. Aby uzyskać więcej informacji, zobacz Przykładowy kod tworzenia użytkownika.
DirectoryEntries.Add Atrybut cn jest pobierany z nazwy parametru . Nowy obiekt użytkownika musi zostać zatwierdzony przez wywołanie DirectoryEntry.CommitChanges lub obiekt nie zostanie utworzony. Aby uzyskać więcej informacji, zobacz Dodawanie obiektów katalogu.

Nowy użytkownik musi zostać zatwierdzony na serwerze przed zmodyfikowaniem atrybutów innych niż cn i sAMAccountName. Jest to spowodowane tym, że konto użytkownika nie istnieje, dopóki użytkownik nie zostanie zatwierdzony. Jeśli atrybut zostanie pobrany lub zmodyfikowany dla obiektu, który nie istnieje na serwerze, wystąpi błąd. Obejmuje to wywołanie metody IADsUser.SetPassword. Na przykład podczas tworzenia użytkownika za pomocą IADsContainer.Createnastępuje następująca sekwencja:

  1. Wywołaj IADsContainer.Create, aby utworzyć użytkownika w lokalnej pamięci podręcznej przy użyciu określonej cn.
  2. Ustaw atrybutsAMAccountName na żądaną wartość przy użyciu metody IADs.Put.
  3. Teraz zmodyfikuj inne atrybuty, takie jak userAccountControl. To ograniczenie dotyczy również właściwości ADSI, takich jak IADsUser.AccountDisabledi metody, takie jak IADsUser.SetPassword.
  4. Wywołaj IADs.SetInfo, aby zatwierdzić nowego użytkownika na serwerze.

Po utworzeniu nowego konta użytkownika jest ono domyślnie wyłączone. Konto musi być włączone ręcznie lub programowo. Aby programowo włączyć konto użytkownika, usuń flagę ADS_UF_ACCOUNTDISABLE z atrybutu userAccountControl.

Po utworzeniu nowego konta użytkownika atrybut userAccountControl konta automatycznie ma ustawioną flagę UF_PASSWD_NOTREQD, która wskazuje, że dla konta nie jest wymagane żadne hasło. Jeśli zasady zabezpieczeń domeny, w której zostało utworzone konto, wymagają hasła dla wszystkich kont użytkowników, flaga UF_PASSWD_NOTREQD musi zostać usunięta z atrybutu userAccountControl dla konta.

Przykładowy kod do tworzenia użytkownika