Não acho que exista uma lista definitiva 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
Esses são os usuários habituais, grupos e as contas internas.
Desde o Vista, existe uma nova classe de contas, chamada contas virtuais, porque elas não aparecem nas ferramentas de gerenciamento habituais. Às vezes, também são chamadas contas de serviço e existem 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, mesmo que seja executada em uma conta de usuário diferente e mesmo que não seja executada. PareceNT Service\MSSQLSERVER
Para obter uma lista desses, use:
get-service | foreach {Write-Host NT Service\$($_.Name)}
Cada pool de aplicativos IIS executado sob o ApplicationPoolIdentity é executado sob uma conta especial chamada IIS APPPOOL\NameOfThePool
Supondo que você tenha as ferramentas de script de Gerenciamento do IIS 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 Windows 8+, você possui o Hyper-V, cada máquina virtual cria sua própria conta virtual, que se parece com:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
para obter uma lista, use:
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 o icacls.exe para definir permissões.
Há também um grupo especial NT Virtual Machine\Virtual Machines
, que não aparece em nenhum outro lugar. Todas as contas da máquina virtual são membros deste grupo, portanto, você pode usá-lo para definir permissões para todos os arquivos da VM.
Esses nomes são específicos do idioma, por exemplo, em alemão, ele é nomeado 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 nas caixas de diálogo de permissões. Não é realmente possível enumerá-las porque existe uma para cada 'sessão da área de trabalho'; portanto, ao usar duas sessões RDP, você também possui DWM-2
e DWM-3
além disso DVM-1
. Portanto, existem tantos quantos desktops disponíveis.
Em certos casos, você também pode usar nomes de computadores na caixa de diálogo de permissões, geralmente quando faz parte de um domínio do Active Directory.
- Usuários virtuais remotos do Windows
Ao usar o PowerShell e o 'JEA (Administração suficiente)' e conectar-se a um servidor com uma sessão remota 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 estiver em uma sessão JEA, você pode usar whoami
para descobrir o nome da conta atual.
Mesmo essas listas não fornecem todas as contas possíveis.
Por exemplo, você pode criar um pool de aplicativos FooBarPool
e excluí-lo novamente. Você ainda pode usá-lo IIS APPPOOL\FooBarPool
na caixa de diálogo de permissões, para que haja uma lista interna em algum lugar.