Je ne pense pas qu'il existe une liste ultime de tous les comptes possibles.
Vous pouvez utiliser différents types de noms dans le champ de saisie utilisateur, tels que dans les boîtes de dialogue des autorisations.
En premier lieu, les comptes Win32_Accounts standard. Pour obtenir la liste complète, ouvrez une session PowerShell et exécutez:
get-wmiobject -class "win32_account" -namespace "root\cimv2" | sort caption | format-table caption, __CLASS, FullName
Ce sont les utilisateurs habituels, les groupes et les comptes intégrés.
Depuis Vista, il existe une nouvelle classe de comptes, appelés comptes virtuels, car ils n'apparaissent pas dans les outils de gestion habituels. On appelle parfois aussi des comptes de service, et il en existe au moins trois types différents:
- Comptes de service Windows
Depuis Vista, chaque service Windows est associé à un compte virtuel, même s’il s’exécute sous un compte utilisateur différent et même s’il ne fonctionne pas du tout. Ça ressemble àNT Service\MSSQLSERVER
Pour obtenir une liste de ces utilisations:
get-service | foreach {Write-Host NT Service\$($_.Name)}
Chaque pool d'applications IIS qui s'exécute sous ApplicationPoolIdentity s'exécute sous un compte spécial appelé IIS APPPOOL\NameOfThePool
En supposant que les outils de script de gestion IIS soient installés, vous pouvez exécuter:
Get-WebConfiguration system.applicationHost/applicationPools/* /* | where {$_.ProcessModel.identitytype -eq 'ApplicationPoolIdentity'} | foreach {Write-Host IIS APPPOOL\$($_.Name)}
- Machines virtuelles Hyper-V
Sur le serveur 2008+ et Windows 8+, vous avez Hyper-V, chaque ordinateur virtuel crée son propre compte virtuel, qui ressemble à ceci:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
pour obtenir une liste, utilisez:
get-vm | foreach {Write-Host NT VIRTUAL MACHINE\$($_.Id) - $($_.VMName)}
Même si ces comptes ne sont pas acceptés dans la boîte de dialogue des autorisations, vous pouvez les utiliser avec icacls.exe pour définir des autorisations.
Il y a aussi un groupe spécial NT Virtual Machine\Virtual Machines
, qui ne se présente pas ailleurs. Tous les comptes de machine virtuelle sont membres de ce groupe. Vous pouvez donc l'utiliser pour définir des autorisations pour tous les fichiers de machine virtuelle.
Ces noms sont spécifiques à une langue. Par exemple, en allemand, il est nommé NT Virtual Machine\Virtuelle Computer
- Gestionnaire de fenêtre de bureau
Le processus dvm.exe (Desktop Window Manager) s’exécute sous un utilisateur Windows Manager\DWM-1
Là encore, vous ne pouvez pas utiliser ce type d’utilisateur dans les boîtes de dialogue des autorisations. Il n'est pas vraiment possible de les énumérer non plus, car il en existe une pour chaque "session de bureau". Par conséquent, lorsque vous utilisez deux sessions RDP, vous en avez également DWM-2
et DWM-3
en plus DVM-1
. Donc, il y en a autant qu'il y a de bureaux disponibles.
Dans certains cas, vous pouvez également utiliser des noms d'ordinateur dans la boîte de dialogue des autorisations, généralement lorsque vous faites partie d'un domaine Active Directory.
- Utilisateurs virtuels de Windows Remoting
Lors de l'utilisation de PowerShell et de 'JEA (administration juste suffisante)' et de la connexion à un serveur avec une session à distance PS, un utilisateur virtuel temporaire peut être créé.
ceux-ci ont le format suivant:
winrm virtual users\winrm va_x_computername_username
et un SID qui commence par S-1-5-94-
le 'x' est un nombre entier.
Ces comptes peuvent être utilisés lors de l'attribution d'autorisations NTFS, mais je ne sais pas comment répertorier tous ces utilisateurs virtuels possibles.
Pendant une session JEA, vous pouvez utiliser whoami
le nom du compte actuel.
Même ces listes ne vous donnent pas tous les comptes possibles.
Par exemple, vous pouvez créer un pool d'applications, FooBarPool
puis le supprimer à nouveau. Vous pouvez toujours l'utiliser IIS APPPOOL\FooBarPool
dans la boîte de dialogue des autorisations. Il doit donc exister une liste interne quelque part.