Não creio que exista uma lista final de todas as contas possíveis.
Existem diferentes tipos de nomes que você pode usar no campo de entrada do usuário, como nas caixas de diálogo de permissões.
Primeiro, são Win32_Accounts padrão, para obter uma lista completa, abra uma sessão do PowerShell e execute:
get-wmiobject -class "win32_account" -namespace "root\cimv2" | sort caption | format-table caption, __CLASS, FullName
Estes são os usuários, grupos e contas usuais.
Desde o Vista, há uma nova classe de contas, chamadas de contas virtuais, porque elas não aparecem nas ferramentas usuais de gerenciamento. Às vezes, também são chamadas de contas de serviço e há pelo menos três tipos diferentes:
- Contas de serviço do Windows
Como o Vista, todo serviço do Windows tem uma conta virtual associada a ele, até mesmo ele é executado com uma conta de usuário diferente e
mesmo que não funcione de todo. Parece que NT Service\MSSQLSERVER
Para obter uma lista desses usos:
get-service | foreach {Write-Host NT Service\$($_.Name)}
- Pools de aplicativos do IIS
Cada pool de aplicativos do IIS executado sob o ApplicationPoolIdentity é executado em uma conta especial chamada IIS APPPOOL\NameOfThePool
Supondo que você tenha as ferramentas de script do IIS Management instaladas, você pode executar:
Get-WebConfiguration system.applicationHost/applicationPools/* /* | where {$_.ProcessModel.identitytype -eq 'ApplicationPoolIdentity'} | foreach {Write-Host IIS APPPOOL\$($_.Name)}
- Máquinas virtuais Hyper-V
No Server 2008+ e no Windows 8+, você tem o Hyper-V, cada máquina virtual cria sua própria conta virtual, que se parece com:
NT VIRTUAL MACHINE43F032-2199-4DEA-8E69-72031FAA50C5
para obter uma lista de uso:
get-vm | foreach {Write-Host NT VIRTUAL MACHINE\$($_.Id) - $($_.VMName)}
Embora essas contas não sejam aceitas na caixa de diálogo de permissões, você pode usá-las com icacls.exe para definir permissões.
Há também um grupo especial NT Virtual Machine\Virtual Machines
, que não aparece em outro lugar. Todas as contas de máquina virtual são membros desse grupo, portanto, você pode usar isso para definir permissões para todos os arquivos da VM.
Estes nomes são específicos do idioma, por ex. em alemão é chamado NT Virtual Machine\Virtuelle Computer
- Gerenciador de janelas da área de trabalho
O processo dvm.exe (Desktop Window Manager) é executado sob um usuário Windows Manager\DWM-1
Novamente, você não pode usar esse tipo de usuário nos diálogos de permissões. Não é realmente possível enumerá-los porque existe um para cada 'Sessão Desktop', portanto, ao usar duas sessões RDP, você também tem DWM-2
e DWM-3
além de DVM-1
. Portanto, existem tantos quantos os desktops disponíveis.
- Nomes de computador
Em certos casos, você também pode usar nomes de computador na caixa de diálogo de permissões, geralmente ao fazer parte de um domínio do Active Directory.
- Usuários remotos do Windows
Ao usar o PowerShell e o 'JEA (Administração o suficiente)' e se conectar a um servidor com uma sessão remota do PS, um usuário virtual temporário pode ser criado.
estes têm o seguinte formato:
winrm virtual users\winrm va_x_computername_username
e um SID que começa com S-1-5-94-
o 'x' é um número inteiro.
Essas contas podem ser usadas ao atribuir permissões NTFS, mas não sei como listar todos esses possíveis usuários virtuais.
Enquanto em uma sessão do JEA, você pode usar whoami
para descobrir o nome da conta atual.
- finalmente:
Mesmo essas listas não oferecem todas as contas possíveis.
Por exemplo, você pode criar um pool de aplicativos FooBarPool
e excluí-lo novamente,
você ainda pode usar IIS APPPOOL\FooBarPool
na caixa de diálogo de permissões, então deve haver uma lista interna em algum lugar.