No creo que haya una lista definitiva de todas las cuentas posibles.
Hay diferentes tipos de nombres que puede usar en el campo de entrada del usuario, como en los cuadros de diálogo de permisos.
Primero están las Win32_Accounts estándar, para obtener una lista completa, abra una sesión de PowerShell y ejecute:
get-wmiobject -class "win32_account" -namespace "root\cimv2" | sort caption | format-table caption, __CLASS, FullName
Estos son los usuarios habituales, los grupos y las cuentas integradas.
Desde Vista, hay una nueva clase de cuentas, llamadas cuentas virtuales, porque no aparecen en las herramientas de administración habituales. A veces también se llaman cuentas de servicio, y hay al menos tres tipos diferentes de estas:
- Cuentas de servicio de Windows
Dado que Vista, cada servicio de Windows tiene una cuenta virtual asociada, incluso se ejecuta bajo una cuenta de usuario diferente e incluso si no se ejecuta en absoluto. Parece queNT Service\MSSQLSERVER
Para obtener una lista de esos usos:
get-service | foreach {Write-Host NT Service\$($_.Name)}
- Grupos de aplicaciones IIS
Cada grupo de aplicaciones IIS que se ejecuta bajo ApplicationPoolIdentity se ejecuta bajo una cuenta especial llamada IIS APPPOOL\NameOfThePool
Suponiendo que tiene instaladas las herramientas de secuencias de comandos de administración de IIS, puede ejecutar:
Get-WebConfiguration system.applicationHost/applicationPools/* /* | where {$_.ProcessModel.identitytype -eq 'ApplicationPoolIdentity'} | foreach {Write-Host IIS APPPOOL\$($_.Name)}
- Máquinas virtuales de Hyper-V
En Server 2008+ y Windows 8+ tiene Hyper-V, cada máquina virtual crea su propia cuenta virtual, que se ve así:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
para obtener una lista use:
get-vm | foreach {Write-Host NT VIRTUAL MACHINE\$($_.Id) - $($_.VMName)}
Aunque estas cuentas no se aceptan en el cuadro de diálogo de permisos, puede usarlas con icacls.exe para establecer permisos.
También hay un grupo especial NT Virtual Machine\Virtual Machines
, que no aparece en ningún otro lado. Todas las cuentas de máquinas virtuales son miembros de este grupo, por lo que puede usar esto para establecer permisos para todos los archivos de VM.
Estos nombres son específicos del idioma, por ejemplo, en alemán se llama NT Virtual Machine\Virtuelle Computer
El proceso dvm.exe (Desktop Window Manager) se ejecuta bajo un usuario Windows Manager\DWM-1
Nuevamente, no puede usar este tipo de usuarios en los cuadros de diálogo de permisos. Tampoco es realmente posible enumerarlos porque existe uno para cada 'sesión de escritorio', por lo que cuando usa dos sesiones RDP, también tiene DWM-2
y DWM-3
además DVM-1
. Por lo tanto, hay tantos como escritorios disponibles.
En ciertos casos, también puede usar nombres de computadora en el cuadro de diálogo de permisos, generalmente cuando forma parte de un dominio de Active Directory.
- Usuarios virtuales remotos de Windows
Al usar PowerShell y 'JEA (Just suficiente Administration)' y conectarse a un servidor con una sesión remota PS, se puede crear un usuario virtual temporal.
estos tienen el siguiente formato:
winrm virtual users\winrm va_x_computername_username
y un SID que comienza con S-1-5-94-
la 'x' es un número entero.
Estas cuentas se pueden usar al asignar permisos NTFS, pero no sé cómo enumerar todos estos posibles usuarios virtuales.
Mientras está en una sesión de JEA, puede usar whoami
para averiguar el nombre de la cuenta actual.
Incluso estas listas no le dan todas las cuentas posibles.
Por ejemplo, puede crear un grupo de aplicaciones y FooBarPool
luego eliminarlo nuevamente, aún puede usarlo IIS APPPOOL\FooBarPool
en el cuadro de diálogo de permisos, por lo que debe haber una lista interna en alguna parte.