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-2
e DWM-3
in 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 whoami
per scoprire il nome dell'account corrente.
Anche queste liste non ti danno tutti i possibili account.
Ad esempio, è possibile creare un pool di applicazioni, FooBarPool
quindi eliminarlo di nuovo, è ancora possibile utilizzarlo IIS APPPOOL\FooBarPool
nella finestra di dialogo delle autorizzazioni, pertanto è necessario che sia presente un elenco interno da qualche parte.