Я не думаю, що існує остаточний перелік усіх можливих рахунків.
Існують різні типи імен, які ви можете використовувати в полі введення користувача, наприклад, у діалогах дозволів.
Спочатку до стандартних Win32_Accounts, щоб отримати повний список, відкрийте сеанс PowerShell і запустіть:
get-wmiobject -class "win32_account" -namespace "root\cimv2" | sort caption | format-table caption, __CLASS, FullName
Це звичайні користувачі, групи та вбудовані акаунти.
З Vista існує новий клас облікових записів, який називається віртуальними обліковими записами, оскільки вони не відображаються у звичайних інструментах управління. Іноді також називають облікові записи служб, і є щонайменше три різних типи:
- Облікові записи служби Windows
Оскільки в Vista кожен сервіс Windows має з ним пов’язаний віртуальний обліковий запис, навіть він працює під іншим обліковим записом користувача, навіть якщо він взагалі не працює. Це виглядає якNT Service\MSSQLSERVER
Щоб отримати список тих, хто використовує:
get-service | foreach {Write-Host NT Service\$($_.Name)}
- Пули прикладних програм IIS
Кожен пул додатків IIS, який працює під ApplicationPoolIdentity, працює під спеціальним обліковим записом IIS APPPOOL\NameOfThePool
Якщо припустимо, що встановлені інструменти сценаріїв управління IIS, ви можете запустити:
Get-WebConfiguration system.applicationHost/applicationPools/* /* | where {$_.ProcessModel.identitytype -eq 'ApplicationPoolIdentity'} | foreach {Write-Host IIS APPPOOL\$($_.Name)}
- Віртуальні машини Hyper-V
На серверах 2008+ та Windows 8+ у вас є Hyper-V, кожна віртуальна машина створює свій власний віртуальний рахунок, який виглядає так:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
щоб скористатися списком:
get-vm | foreach {Write-Host NT VIRTUAL MACHINE\$($_.Id) - $($_.VMName)}
Хоча ці облікові записи не приймаються у діалоговому вікні дозволів, ви можете використовувати їх за допомогою icacls.exe для встановлення дозволів.
Існує також спеціальна група NT Virtual Machine\Virtual Machines
, яка не з’являється в іншому місці. Усі облікові записи віртуальної машини є членами цієї групи, тому ви можете використовувати це для встановлення дозволів для всіх файлів VM.
Ці назви є специфічними для мови, наприклад, німецькою мовою вона названа NT Virtual Machine\Virtuelle Computer
- Менеджер вікон робочого столу
Процес dvm.exe (Менеджер вікон робочого столу) працює під користувачем Windows Manager\DWM-1
Знову не можна використовувати цей тип користувачів у діалогових вікнах дозволів. Перерахувати їх не представляється можливим, оскільки існує один для кожного "сеансу робочого столу", тож при використанні двох сеансів RDP у вас є DWM-2
і DWM-3
на додаток до DVM-1
. Таким чином, є стільки, скільки є настільних комп'ютерів.
У певних випадках ви також можете використовувати імена комп'ютерів у діалоговому вікні дозволів, як правило, коли вони є частиною домену Active Directory.
- Видалення віртуальних користувачів Windows
Під час використання PowerShell та 'JEA (Просто достатнє адміністрування)' та підключення до сервера за допомогою віддаленого сеансу PS може бути створений тимчасовий віртуальний користувач.
вони мають такий формат:
winrm virtual users\winrm va_x_computername_username
і SID, який починається з S-1-5-94-
'x' - ціле число.
Ці облікові записи можна використовувати при призначенні дозволів NTFS, але я не знаю, як перелічити всіх цих можливих віртуальних користувачів.
Перебуваючи в сесії JEA, ви можете використовувати whoami
для з'ясування назви поточного рахунку.
Навіть ці списки не дають вам усіх можливих рахунків.
Наприклад, ви можете створити пул додатків, FooBarPool
а потім видалити його знову, ви все ще можете використовувати його IIS APPPOOL\FooBarPool
в діалоговому вікні дозволів, тому десь повинен бути внутрішній список.