Non penso che ci sia un elenco definitivo di tutti i possibili account.
Esistono diversi tipi di nomi che è possibile utilizzare nel campo di immissione dell'utente, ad esempio nelle finestre di dialogo delle autorizzazioni.
I primi sono Win32_Accounts standard, per ottenere un elenco completo aprire una sessione di PowerShell ed eseguire:
get-wmiobject -class "win32_account" -namespace "root\cimv2" | sort caption | format-table caption, __CLASS, FullName
Questi sono i soliti utenti, gruppi e account integrati.
Da Vista esiste una nuova classe di account, denominati account virtuali, perché non vengono visualizzati nei soliti strumenti di gestione. A volte ci sono anche chiamati account di servizio e ci sono almeno tre diversi tipi di questi:
- Account di servizio di Windows
Poiché Vista a ogni servizio Windows ha un account virtuale associato, anche se funziona con un altro account utente e anche se non funziona affatto. SembraNT Service\MSSQLSERVER
Per ottenere un elenco di quelli utilizzati:
get-service | foreach {Write-Host NT Service\$($_.Name)}
Ogni pool di applicazioni IIS che viene eseguito in ApplicationPoolIdentity viene eseguito con un account speciale chiamato IIS APPPOOL\NameOfThePool
Supponendo che siano installati gli strumenti di scripting di gestione IIS, è possibile eseguire:
Get-WebConfiguration system.applicationHost/applicationPools/* /* | where {$_.ProcessModel.identitytype -eq 'ApplicationPoolIdentity'} | foreach {Write-Host IIS APPPOOL\$($_.Name)}
- Macchine virtuali Hyper-V
Su Server 2008+ e Windows 8+ hai Hyper-V, ogni macchina virtuale crea il proprio account virtuale, che assomiglia a:
NT VIRTUAL MACHINE\1043F032-2199-4DEA-8E69-72031FAA50C5
per ottenere un elenco utilizzare:
get-vm | foreach {Write-Host NT VIRTUAL MACHINE\$($_.Id) - $($_.VMName)}
Sebbene questi account non siano accettati nella finestra di dialogo delle autorizzazioni, è possibile utilizzarli con icacls.exe per impostare le autorizzazioni.
C'è anche un gruppo speciale NT Virtual Machine\Virtual Machines, che non si presenta altrove. Tutti gli account delle macchine virtuali sono membri di questo gruppo, quindi è possibile utilizzarlo per impostare le autorizzazioni per tutti i file VM.
Questi nomi sono specifici della lingua, ad esempio in tedesco è chiamato NT Virtual Machine\Virtuelle Computer
Il processo dvm.exe (Desktop Window Manager) viene eseguito da un utente Windows Manager\DWM-1
Ancora una volta non è possibile utilizzare questo tipo di utenti nelle finestre di dialogo delle autorizzazioni. Non è davvero possibile elencarli neanche perché ne esiste uno per ogni "sessione desktop", quindi quando si usano due sessioni RDP, si ha anche DWM-2e DWM-3in aggiunta DVM-1. Quindi ce ne sono tanti quanti sono i desktop disponibili.
In alcuni casi è anche possibile utilizzare i nomi dei computer nella finestra di dialogo delle autorizzazioni, in genere quando si fa parte di un dominio di Active Directory.
- Utenti virtuali remoti di Windows
Quando si utilizzano PowerShell e "JEA (amministrazione sufficiente)" e ci si connette a un server con una sessione remota PS, è possibile creare un utente virtuale temporaneo.
questi hanno il seguente formato:
winrm virtual users\winrm va_x_computername_username
e un SID che inizia con S-1-5-94-
la 'x' è un numero intero.
Questi account possono essere utilizzati durante l'assegnazione delle autorizzazioni NTFS, ma non so come elencare tutti questi possibili utenti virtuali.
Durante una sessione JEA è possibile utilizzare whoamiper scoprire il nome dell'account corrente.
Anche queste liste non ti danno tutti i possibili account.
Ad esempio, è possibile creare un pool di applicazioni, FooBarPoolquindi eliminarlo di nuovo, è ancora possibile utilizzarlo IIS APPPOOL\FooBarPoolnella finestra di dialogo delle autorizzazioni, pertanto è necessario che sia presente un elenco interno da qualche parte.