Как получить список пользователей, которые могут войти локально в Windows? - PullRequest
1 голос
/ 20 марта 2009

Есть ли способ перечислить всех пользователей в локальном (на базе NT) Windows-боксе, который может войти в систему локально? По сути, мне нужен список несистемных пользователей - это включает в себя Администратор, но исключает SYSTEM, LOCAL SERVICE и NETWORK SERVICE.

Редактировать: Да, мне нужно сделать это из кода. Поскольку это сайт по программированию, я подумал, что это подразумевается.

Ответы [ 3 ]

2 голосов
/ 20 марта 2009
NET USER
[username [password | *] [options]] [/DOMAIN]
         username {password | *} /ADD [options] [/DOMAIN]
         username [/DELETE] [/DOMAIN]

NET USER creates and modifies user accounts on computers. When used
without switches, it lists the user accounts for the computer. The
user account information is stored in the user accounts database.

Вы хотели сделать это из кода? Следующее обсуждение может помочь: http://www.codeproject.com/KB/system/EnumerateLocalUser.aspx

0 голосов
/ 17 декабря 2013

Вы можете использовать NetQueryDisplayInformation API в сочетании с побитовой проверкой флага информации о пользователе. У меня точно такое же требование, поэтому я готовлю пример кода (модифицированный из запроса MSDN GROUP).

Я использовал пользовательский флаг UF_NORMAL_ACCOUNT UF_ACCOUNTDISABLE UF_PASSWD_NOTREQD ---> это гарантирует, что мы получим учетную запись Human, учетная запись Human всегда требует пароль.

рабочий код по адресу: http://www.cceye.com/list-system-normal-user-account-only/

0 голосов
/ 20 марта 2009

Просто используйте Net apis. Смотрите образцы MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...