Функция NetUserDel (lmaccess.h)
Функция NetUserDel удаляет учетную запись пользователя с сервера.
Синтаксис
NET_API_STATUS NET_API_FUNCTION NetUserDel(
[in] LPCWSTR servername,
[in] LPCWSTR username
);
Параметры
[in] servername
Указатель на строку константы, указывающую DNS или NetBIOS-имя удаленного сервера, на котором выполняется функция. Если этот параметр имеет значение NULL, используется локальный компьютер.
[in] username
Указатель на константную строку, указывающую имя удаляемой учетной записи пользователя. Дополнительные сведения см. в разделе "Примечания".
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NERR_Success.
Если функция завершается ошибкой, возвращаемое значение может быть одним из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Пользователь не имеет доступа к запрошенной информации. |
|
Недопустимое имя компьютера. |
|
Операция разрешена только на основном контроллере домена. |
|
Не удалось найти имя пользователя. |
Комментарии
При программировании для Active Directory вы можете вызвать определенные методы интерфейса службы Active Directory (ADSI), чтобы достичь тех же функций, которые можно достичь, вызывая пользовательские функции управления сетью. Дополнительные сведения см. в разделах IADsUser и IADsComputer.
Если вы вызываете эту функцию на контроллере домена под управлением Active Directory, доступ разрешен или запрещен на основе списка управления доступом (ACL) для защищаемого объекта. Список управления доступом по умолчанию разрешает вызывать эту функцию только администраторам домена и операторам учетных записей. На рядовом сервере или рабочей станции эту функцию могут вызывать только администраторы и опытные пользователи. Дополнительные сведения см. в разделе Требования к безопасности для функций управления сетями. Дополнительные сведения о списках управления доступом, ACE и маркерах доступа см. в разделе модель контроль доступа.
Дескриптор безопасности объекта User используется для выполнения проверка доступа для этой функции.
Невозможно удалить учетную запись, когда пользователь или приложение обращается к ресурсу сервера. Если пользователь был добавлен в систему с помощью вызова функции NetUserAdd , при удалении пользователя также удаляется системная учетная запись пользователя.
Имена учетных записей пользователей могут содержать не более 20 символов, а имена групп — не более 256 символов. Кроме того, имена учетных записей не могут быть завершены точкой и не могут содержать запятые или любые из следующих печатных символов: ", /, , [, ], :, |, <, >, +, =, ;, ?, *. Имена также не могут содержать непечатаемые символы в диапазоне от 1 до 31.
Примеры
В следующем примере кода показано, как удалить учетную запись пользователя с помощью вызова функции NetUserDel .
#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")
#include <stdio.h>
#include <windows.h>
#include <lm.h>
int wmain(int argc, wchar_t *argv[])
{
DWORD dwError = 0;
NET_API_STATUS nStatus;
//
// All parameters are required.
//
if (argc != 3)
{
fwprintf(stderr, L"Usage: %s \\\\ServerName UserName\n", argv[0]);
exit(1);
}
//
// Call the NetUserDel function to delete the share.
//
nStatus = NetUserDel(argv[1], argv[2]);
//
// Display the result of the call.
//
if (nStatus == NERR_Success)
fwprintf(stderr, L"User %s has been successfully deleted on %s\n",
argv[2], argv[1]);
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
return 0;
}
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | lmaccess.h (включая Lm.h) |
Библиотека | Netapi32.lib |
DLL | Netapi32.dll |