Я пытаюсь найти способ получить полный список учетных записей пользователей в системе Windows 7, включая скрытые. В диалоговом окне « Учетные записи пользователей » ( >control userpasswords2
) отображаются только обычные учетные записи пользователей, и даже в редакторе « Локальные пользователи и группы» отображаются только обычные учетные записи пользователей и стандартные скрытые / отключенные учетные записи, такие как Администратор и Гость. В диалоговом окне « Выбор пользователей или групп » есть кнопка « Найти сейчас» , которая объединяет пользователей и группы, но, увы, содержит то же содержимое, что и LUG.
Я ищу более полный список, который включает «супер-скрытые» / виртуальные учетные записи пользователей, такие как TrustedInstaller (или, точнее, NT Service \ TrustedInstaller - обратите внимание на другой «домен»).
Я проверил HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
, но SpecialAccounts
ключ не существует.
Я также проверил HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
, и хотя в нем есть учетные записи SystemProfile, LocalService и NetworkService, у него нет других (таких как TrustedInstaller и тому подобное).
TrustedInstaller определенно немного сбивает с толку, потому что это пользователь, служба и исполняемый файл. Я использую его в качестве примера, потому что он «супер скрытый» в том смысле, что он, кажется, не указан ни в каком списке пользователей. (В качестве эксперимента я попытался выполнить поиск по «реестру доверенных лиц» по всему реестру, чтобы выяснить, могу ли я найти место, где он указан как пользователь, но не нашел ни одного.)
Чтобы было ясно, я ищу список всех учетные записи, которые можно использовать в поле ввода пользователя, например в диалоговых окнах разрешений или в качестве runas
аргумента.
источник
Ответы:
Я не думаю, что есть окончательный список всех возможных аккаунтов.
Существуют разные типы имен, которые вы можете использовать в пользовательском поле ввода, например, в диалоговых окнах разрешений.
Прежде всего, это стандартные Win32_Accounts, чтобы получить полный список, откройте сеанс PowerShell и запустите:
Это обычные пользователи, группы и встроенные учетные записи.
Начиная с Vista, существует новый класс учетных записей, называемый виртуальными учетными записями, поскольку они не отображаются в обычных инструментах управления. Иногда также называются служебными учетными записями, и существует как минимум три различных типа:
С каждой операционной системой Windows Vista связана виртуальная учетная запись, даже если она работает под другой учетной записью пользователя, даже если она вообще не запускается. Это выглядит как
NT Service\MSSQLSERVER
Чтобы получить список тех, кто использует:
Каждый пул приложений IIS, который запускается под ApplicationPoolIdentity, запускается под специальной учетной записью, которая называется
IIS APPPOOL\NameOfThePool
Предполагая, что у вас установлены инструменты сценариев управления IIS, вы можете запустить:
На Server 2008+ и Windows 8+ у вас есть Hyper-V, каждая виртуальная машина создает свою собственную виртуальную учетную запись, которая выглядит следующим образом:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
чтобы получить список используйте:
Несмотря на то, что эти учетные записи не принимаются в диалоге разрешений, вы можете использовать их с icacls.exe для установки разрешений.
Существует также специальная группа
NT Virtual Machine\Virtual Machines
, которая не появляется в других местах. Все учетные записи виртуальных машин являются членами этой группы, поэтому вы можете использовать это для установки разрешений для всех файлов виртуальных машин.Эти имена зависят от языка, например, на немецком языке они называются
NT Virtual Machine\Virtuelle Computer
Процесс dvm.exe (менеджер окон рабочего стола) выполняется под пользователем
Windows Manager\DWM-1
Опять же, вы не можете использовать этот тип пользователей в диалогах разрешений. Перечислить их на самом деле также невозможно, потому что они существуют для каждого «сеанса рабочего стола», поэтому при использовании двух сеансов RDP у вас также есть
DWM-2
иDWM-3
в дополнение кDVM-1
. Таким образом, существует столько же, сколько доступно рабочих столов.В некоторых случаях вы также можете использовать имена компьютеров в диалоговом окне разрешений, как правило, будучи частью домена Active Directory.
При использовании PowerShell и JEA (достаточно администрирования) и подключении к серверу с удаленным сеансом PS может быть создан временный виртуальный пользователь.
они имеют следующий формат:
winrm virtual users\winrm va_x_computername_username
и SID, который начинается с
S-1-5-94-
«х» является целым числом.
Эти учетные записи могут использоваться при назначении разрешений NTFS, но я не знаю, как перечислить всех этих возможных виртуальных пользователей.
Во время сеанса JEA вы можете использовать,
whoami
чтобы узнать имя текущей учетной записи.Даже эти списки не дают вам все возможные учетные записи.
Например, вы можете создать пул приложений, а
FooBarPool
затем удалить его снова, вы все равно можете использовать егоIIS APPPOOL\FooBarPool
в диалоге разрешений, поэтому где-то должен быть внутренний список.источник
everyone
,restricted
и т. Д., И ваше обсуждениеNT Service\*
учетных записей объясняет, как другиеTrustedInstaller
. Вы также охватили более экзотические особые случаи, но похоже, что все общие учтены.Get-WebConfiguration system.applicationHost/applicationPools/add
вместо этого.Это связано с тем, что TrustedInstaller является сервисом, а не объектом пользователя. В Vista службы теперь являются участниками безопасности и им могут быть назначены разрешения.
http://technet.microsoft.com/en-us/magazine/2007.06.acl.aspx
источник
Перейдите на вкладку безопасности и нажмите
Edit
Add...
щелчок
Advanced...
Нажмите
Object Types...
и снимите флажокGroups
, затем нажмитеOK
Нажмите
Find Now
. В этом списке будут перечислены все обычные пользователи и пользователи встроенной системы («встроенные принципы безопасности», как их называет Windows).Обратите внимание, что не все учетные записи, отображаемые на этой странице, могут использоваться в команде «Запуск от имени», хотя все они могут использоваться в диалоговом окне разрешений.
источник
SYSTEM
есть» (или, по крайней мере, должен быть), TrustedInstaller - нет .find now
кнопке на панели управления «Пользователи и группы», которая похожа, но немного отличается. Насколько мне известно, единственная учетная запись, которая не появляется здесь, это TrustedInstaller. Это связано с тем, что Microsoft делает все возможное, чтобы вы ничего не делали с учетной записью TrustedInstaller. Я дам вам знать, если я подумаю о других способах сделать это.Locations...
на свой компьютер, если вы находитесь в домене (но хотите, чтобы ваш компьютер только).Начиная с Windows Vista, сервисы рассматриваются как пользователи. То есть идентификатор безопасности (SID) присваивается каждой службе. Это не относится к сервису TrustedInstaller . Вы можете просмотреть SID, назначенный любому сервису, используя
sc showsid
команду:Обратите внимание, что нет необходимости в существовании службы в системе. Примеры:
или, для службы Windows Management Instrumentation (
Winmgmt
):и, наконец, для поддельного сервиса:
Обратите внимание, что все идентификаторы безопасности начинаются с того
S-1-5-80
, где80
назначаетсяSECURITY_SERVICE_ID_BASE_RID
подчиненному органу. Более того, это назначение является детерминированным: идентификаторы RID не используются, и идентификатор SID будет одинаковым во всех системах (дополнительную информацию см. В ссылках в конце этого поста).В качестве примера я назначу
NT Service\Winmgmt
сервис, разрешение на запись в некоторый файл:Windows подчеркивает имя
Winmgmt
, подтверждая, что это действительный идентификатор:Теперь нажмите OK, а затем назначьте разрешение на запись:
Это подтверждает, что любое имя службы может использоваться в качестве идентификатора пользователя. Поэтому я бы не назвал их «скрытыми за ужином» аккаунтами: D
Для получения дополнительной информации, пожалуйста, прочитайте следующие статьи:
источник
Вы можете использовать NetQueryDisplayInformation API, в сочетании с побитовой проверкой флага информации о пользователе. У меня точно такое же требование, поэтому я готовлю пример кода (модифицированный из запроса MSDN GROUP).
Я использовал пользовательский флаг UF_NORMAL_ACCOUNT UF_ACCOUNTDISABLE UF_PASSWD_NOTREQD ---> это гарантирует, что мы получим учетную запись Human, учетная запись Human всегда требует пароль.
рабочий код по адресу: http://www.cceye.com/list-system-normal-user-account-only/
источник