Data una coppia di un utente e un privilegio, devo determinare se un utente ha il privilegio sul server. Quanto segue è vero nella mia configurazione:
- Il server fa parte di un dominio ma non un controller di dominio
- Esistono diversi domini con relazione di trust nell'infrastruttura
- A volte gli utenti (locali, di dominio o di dominio diverso) possono appartenere a un gruppo locale per merito del fatto che si trovano in un altro gruppo (dominio o locale) che appartiene a un gruppo locale, anziché appartenere direttamente al gruppo.
Scenario di esempio per l'ultimo punto:
- Utente1 appartiene al gruppo TeamA nel dominio A.
- DomaimA \ TeamA è membro di DomainB \ SpecialAccess
- DomainB \ SpecialAccess è un membro di DomainB \ DomainAdmins
- Infine DomainB \ DomainAdmins appartiene al gruppo di amministratori locali
- Il gruppo di amministratori locali ha il privilegio SeRemoteInteractiveLogonRight
Ora, se ho sull'input DomainA \ User1 e SeRemoteInteractiveLogonRight, devo arrivare alla risposta Sì o No. Quindi apro la politica locale sulla macchina, noto quali gruppi sono elencati a destra anche io sono interessato, quindi vado ai server manager e vedo cosa nei membri del gruppo e quindi ho bisogno di vedere quali membri di tutti i gruppi in questi gruppi e così via.
Ho la sensazione che possa essere più facile. Ero davvero entusiasta quando ho trovato l' utilità AccessChk È durata tre minuti interi che mi hanno portato a scoprire che elenca solo le relazioni dirette, quindi l'utente all'interno di un gruppo non verrà elencato.
Ora suppongo che sarebbe possibile combinare i risultati di AccessChk in qualche modo in modo da poter verificare se un utente appartiene a uno dei gruppi restituiti da AccessChk, ma dato che non è un singolo dominio ma molti di loro sono non sono sicuro di come affrontare questo. Anche l'output di AccessChk non sembra distinguere tra un gruppo e un utente.
EDIT : nello spirito di non cadere nella trappola del problema XY, ciò che devo davvero fare è accertarmi che su un gruppo di server nessun account utente specifico utilizzato come identità del pool di applicazioni IIS abbia i privilegi SeInteractiveLogonRight o SeRemoteInteractiveLogonRight. Non ho alcun problema con la parte IIS, ma l'ultimo passaggio per verificare un account rispetto a un privilegio è qualcosa che faccio fatica a trovare un modo semplice per verificare. Vorrei anche automatizzare il controllo perché è qualcosa che dovrà essere fatto regolarmente.