Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo risolve un problema a causa del quale l'accesso a un account utente membro di più di 1.010 gruppi ha esito negativo.
Si applica a: Windows Server 2016, Windows Server 2019, Windows Server 2022, Windows Server 2025
Numero KB originale: 328889
Sintomi
Quando un utente tenta di accedere a un computer usando un account computer locale o un account utente di dominio, la richiesta di accesso potrebbe non riuscire. Viene visualizzato il seguente messaggio di errore:
Messaggio di accesso: il sistema non è in grado di accedere a causa dell'errore seguente: durante un tentativo di accesso, il contesto di sicurezza dell'utente ha accumulato troppi ID di sicurezza. Riprovare o consultare l'amministratore di sistema.
Il problema si verifica quando l'utente di accesso è un membro esplicito o transitivo di circa 1.010 o più gruppi di sicurezza.
Le applicazioni e l'ID registro eventi di sicurezza 4625 potrebbero visualizzare questo codice di errore:
0xc000015a
L'errore è STATUS_TOO_MANY_CONTEXT_IDS.
Causa
Quando un utente accede a un computer, l'Autorità di sicurezza locale (LSA, una parte del sottosistema dell'autorità di sicurezza locale) genera un token di accesso. Il token rappresenta il contesto di sicurezza dell'utente. Il token di accesso è costituito da identificatori di sicurezza univoci (SID) per ogni gruppo di cui l'utente è membro. Questi SID includono gruppi transitivi e valori SID di SIDhistory dell'utente e degli account di gruppo.
La matrice che contiene i SID delle appartenenze ai gruppi dell'utente nel token di accesso non può contenere più di 1.024 SID. L'LSA non può eliminare alcun SID dal token. Pertanto, se sono presenti più SID, l'LSA non riesce a creare il token di accesso e l'utente non sarà in grado di accedere.
Quando viene compilato l'elenco dei SID, l'LSA inserisce anche diversi SID generici noti oltre ai SID per le appartenenze ai gruppi dell'utente (valutate in modo transitivo). Pertanto, se un utente è membro di più di 1.010 gruppi di sicurezza personalizzati, il numero totale di SID può superare il limite di 1.024 SID.
Importante
- I token per gli account amministratore e non amministratore sono soggetti al limite.
- Il numero esatto di SID personalizzati varia con il tipo di accesso (ad esempio, interattivo, servizio, rete) e la versione del sistema operativo del controller di dominio e del computer che crea il token.
- L'uso di Kerberos o NTLM come protocollo di autenticazione non ha alcun impatto sul limite di token di accesso.
- L'impostazione del client Kerberos MaxTokenSize è descritta in Problemi di autenticazione Kerberos quando un utente appartiene a molti gruppi. Il token nel contesto Kerberos fa riferimento al buffer per i ticket ricevuti da un host Kerberos di Windows. A seconda delle dimensioni del ticket, del tipo di SID e dell'abilitazione della compressione SID, il buffer può contenere meno o più SID rispetto a quanto previsto nel token di accesso.
L'elenco dei SID personalizzati includerà:
- I SID primari dell'utente/computer e dei gruppi di sicurezza di cui l'account è membro.
- SID nell'attributo SIDHistory dei gruppi nell'ambito dell'accesso.
Poiché l'attributo SIDHistory può contenere più valori, è possibile raggiungere rapidamente il limite di 1.024 SID se gli account vengono migrati più volte. Il numero di SID nel token di accesso sarà minore del numero totale di gruppi di cui l'utente è membro nella situazione seguente:
- L'utente proviene da un dominio attendibile in cui vengono filtrati SIDHistory e SID.
- L'utente proviene da un dominio attendibile in un trust in cui vengono messi in quarantena i SID. Vengono quindi inclusi solo i SID dello stesso dominio dell'utente.
- Sono inclusi solo i SID del gruppo locale di dominio dal dominio della risorsa.
- Sono inclusi solo i SID del gruppo locale del server di risorse.
A causa di queste differenze, è possibile che l'utente possa accedere a un computer in un dominio, ma non a un computer in un altro dominio. L'utente potrebbe anche essere in grado di accedere a un server in un dominio, ma non a un altro server nello stesso dominio.
È possibile trovare informazioni sulle appartenenze ai gruppi di dominio di un utente interessato con NTDSUTIL. Dispone di uno strumento di valutazione dell'appartenenza a gruppi che funziona anche attraverso i limiti delle foreste. Lo strumento funziona anche per gli utenti seguenti:
- utenti che superano il limite di 1.024 SID
- utenti che si trovano in così tanti gruppi che Kerberos non riesce a recuperare ticket anche con 65.535 byte del buffer
Seguire questa procedura:
Aprire un prompt dei comandi in un computer con Strumenti di gestione di Active Directory (Controller di dominio o un computer con strumenti di amministrazione remota del server).
Passare allo
gro mem evastrumento e quindi ottenere i comandi disponibili come screenshot seguente:
Connettersi ai controller di dominio necessari per la valutazione:
- Impostare account DC %s - Controller di dominio del dominio dell'utente
- Impostare catalogo globale %s - GC della foresta dell'utente
- Impostare il controller di dominio risorsa %s - Controller di dominio del dominio della risorsa
- Impostare le credenziali in base alle esigenze o i log dettagliati quando i risultati sembrano errati o la raccolta non riesce.
Eseguire la valutazione come indicato di seguito ( ad esempio per Admin in
contoso.com):Run contoso.com AdminL'esecuzione raccoglierà i dettagli dell'utente nei passaggi da 1 a 2, i dettagli del gruppo di dominio delle risorse nel passaggio 3 e quindi compilerà il report nei passaggi 4 e 5.
I risultati verranno archiviati in un file TSV nella directory corrente come screenshot seguente:
Vedere la guida seguente per leggere un file TSV:
- Tipo SID: indica se si tratta del SID primario del gruppo/utente o SIDHistory.
- Conteggio cronologia SID: quanti SID di SIDHistory presenta questo account?
- One Level MemberOf Count: quanti SID aggiungono alla raccolta su un singolo livello (il membro delle voci di)?
- Total MemberOf Count: quanti SID aggiungono alla raccolta in totale?
- Proprietario del gruppo: per gli ambienti con gestione del gruppo delegato, è possibile ottenere suggerimenti su come usare troppi gruppi per attaccare l'accesso utente.
- Tipo di gruppo: tipo di sid. WellKnown, SID utente, globale e gruppi di sicurezza universali si trovano in tutti i token creati per questo utente. Il gruppo di sicurezza locale del dominio si trova solo in questo dominio di risorse. Può essere importante quando un utente ha problemi di accesso solo in un determinato dominio di risorse.
- Membro WhenChanged (UTC): ultima modifica all'appartenenza al gruppo. Può essere utile per correlare con il momento in cui gli utenti hanno segnalato per la prima volta problemi di accesso.
Hint per trovare i gruppi di destinazione per una modifica:
I gruppi con SIDHistory hanno una buona leva utile per ridurre il numero di SID.
I gruppi che introducono molti altri gruppi tramite l'annidamento hanno un'ottima leva per ridurre il numero di SID.
Cercare indizi nel nome del gruppo per determinare se il gruppo potrebbe non essere più usato. Ad esempio, un cliente ha un gruppo per applicazione nella soluzione di distribuzione software. Sono stati trovati gruppi che contengono office2000 o access2000.
Passare il report dell'elenco di gruppi agli amministratori di servizi e applicazioni. Identificare i gruppi che non sono più necessari, ad esempio solo per questo utente in questa business unit o reparto.
Limitazioni:
Lo strumento non include alcuni tipi di SID speciali/WellKnown elencati di seguito in questo articolo. Tenere quindi presente che un utente deve cancellare diversi SID da 1.024 nel report prima di poter accedere correttamente.
Lo strumento non copre anche i gruppi locali del server. Se si verificano problemi solo in determinati server di un dominio di risorse, l'utente o alcuni dei relativi gruppi sono membri di gruppi locali del server.
Per ottenere un elenco di gruppi locali del server e dei relativi membri:
Note
Eseguire come amministratore in un prompt dei comandi con privilegi elevati.
Net localgroup | findstr * > %computername%-grouplist.txt
Per ottenere un elenco di membri da un dominio:
Md server-groups
For /f "delims=*" %d in (%computername%-grouplist.txt) do Net localgroup %d | findstr \ > server-groups\%d-domain-memberlist.txt**
Combinare e associare i gruppi segnalati con il report utente di NTDSUTIL.
Risoluzione
Per risolvere questo problema, usare uno dei metodi seguenti, come appropriato per la situazione.
Metodo 1
Questa risoluzione si applica alla situazione seguente:
- L'utente che rileva l'errore di accesso non è un amministratore.
- Gli amministratori possono accedere correttamente al computer o al dominio.
Questa risoluzione deve essere eseguita da un amministratore che dispone delle autorizzazioni per modificare le appartenenze ai gruppi dell'utente. L'amministratore deve modificare le appartenenze ai gruppi dell'utente per assicurarsi che l'utente non sia più membro di più di 1.010 gruppi di sicurezza. Prendere in considerazione le appartenenze ai gruppi transitivi e le appartenenze ai gruppi locali.
Le opzioni per ridurre il numero di SID nel token utente includono quanto segue. La raccolta di dati di NTDSUTIL consente di visualizzare quali gruppi si trovano nell'ambito per la modifica o la rimozione:
Rimuovere l'utente da un numero sufficiente di gruppi di sicurezza.
Convertire i gruppi di sicurezza inutilizzati in gruppi di distribuzione. I gruppi di distribuzione non vengono conteggiati rispetto al limite di token di accesso. I gruppi di distribuzione possono essere riconvertiti in gruppi di sicurezza quando è necessario un gruppo convertito.
Determinare se le entità di sicurezza si basano sulla cronologia SID per l'accesso alle risorse. In caso contrario, rimuovere l'attributo SIDHistory da questi account. È possibile recuperare il valore dell'attributo tramite un ripristino autorevole.
Note
Anche se il numero massimo di gruppi di sicurezza di cui un utente può essere membro è 1.024, come procedura consigliata, limitare il numero a meno di 1.010. Questo numero garantisce che la generazione di token abbia sempre esito positivo perché fornisce spazio per i SID generici inseriti dall'LSA.
Metodo 2
La risoluzione si applica alla situazione in cui l'account amministratore non può accedere al computer.
Quando l'utente il cui accesso ha esito negativo a causa di troppe appartenenze a gruppi è membro del gruppo Administrators, un amministratore che dispone delle credenziali per l'account amministratore (ovvero un account con un identificatore relativo noto [RID] di 500) deve riavviare un controller di dominio selezionando l'opzione di avvio Modalità provvisoria (o selezionando l'opzione di avvio Modalità provvisoria con rete). In modalità provvisoria, l'amministratore deve quindi accedere al controller di dominio usando le credenziali dell'account amministratore.
Vedere Riavviare il controller di dominio in modalità di ripristino dei servizi directory in locale
Microsoft ha modificato l'algoritmo di generazione del token. LSA può creare un token di accesso per l'account amministratore in modo che l'amministratore possa accedere indipendentemente dal numero di gruppi transitivi o gruppi intransitivi di cui l'account amministratore è membro. Quando viene usata una di queste opzioni di avvio in modalità provvisoria, il token di accesso creato per l'account amministratore include i SID di tutti i gruppi predefiniti e di tutti i gruppi globali di dominio di cui l'account amministratore è membro.
Questi gruppi in genere includono:
- Tutti (S-1-1-0)
- BUILTIN\Users (S-1-5-32-545)
- BUILTIN\Administrators (S-1-5-32-544)
- NT AUTHORITY\INTERACTIVE (S-1-5-4)
- NT AUTHORITY\Utenti autenticati (S-1-5-11)
- LOCAL (S-1-2-0)
- Domain\Domain Users (S-1-5-21-xxxxxxxx-yy-zzzzzz-513)
- Domain\Domain Admins (S-1-5-21-xxxxxxxx-yyyy-zzzzzz-512)
- BUILTIN\Pre-Windows 2000 Compatible Access(S-1-5-32-554) se Everyone è membro di questo gruppo
- NT AUTHORITY\This Organization (S-1-5-15) se il controller di dominio esegue Windows Server 2003
Note
Se viene usata l'opzione di avvio modalità provvisoria, l'interfaccia utente dello snap-in Utenti e computer di Active Directory non è disponibile. In Windows Server, l'amministratore può accedere in alternativa selezionando l'opzione Modalità provvisoria con l'avvio della rete. In questa modalità, l'interfaccia utente snap-in Utenti e computer di Active Directory è disponibile.
Dopo che un amministratore ha eseguito l'accesso selezionando una delle opzioni di avvio in modalità provvisoria e usando le credenziali dell'account amministratore, l'amministratore deve quindi identificare e modificare l'appartenenza dei gruppi di sicurezza che hanno causato la negazione del servizio di accesso.
Dopo aver apportato questa modifica, gli utenti devono essere in grado di accedere correttamente dopo un periodo di tempo uguale alla latenza di replica del dominio trascorso.
Metodo 3
Questa opzione ha l'aspetto più importante se si hanno molti gruppi creati per concedere l'accesso alle risorse usate in un set specifico di server e non sono rilevanti per molti altri server. Il token di accesso degli utenti contiene sempre i SID degli utenti, dei gruppi globali e universali. Tuttavia, contiene solo i SID dei gruppi domain-local del dominio in cui si trovano i server di risorse. Di conseguenza, da 600 gruppi di cui un utente è membro, 400 aiutano a concedere l'accesso alle risorse di file server in due gruppi di server e quindi possono essere possibili le idee seguenti:
- Suddividere i server in più gruppi in base al numero di gruppi domain-local.
- Anziché un dominio di risorse con tutti i gruppi e i server, hanno più domini in cui sono definiti solo i gruppi che contengono i server necessari.
- Avere un dominio separato per i server con una piccola necessità di gruppi locali di dominio. Un esempio potrebbe essere exchange server, poiché Exchange ha una forte preferenza per i gruppi universali.
Ulteriori informazioni
I SID generici di un account spesso includono:
- Tutti (S-1-1-0)
- BUILTIN\Users (S-1-5-32-545)
- BUILTIN\Administrators (S-1-5-32-544)
- NT AUTHORITY\Utenti autenticati (S-1-5-11)
- Sid sessione di accesso (S-1-5-5-X-Y)
- BUILTIN\Pre-Windows 2000 Compatible Access(S-1-5-32-554) se l'utente è membro di questo gruppo (annidato)
Importante
Lo strumento Whoami viene spesso usato per esaminare i token di accesso. Questo strumento non mostra il SID della sessione di accesso.
Esempi di SID a seconda del tipo di sessione di accesso:
- LOCAL (S-1-2-0)
- ACCESSO ALLA CONSOLE (S-1-2-1)
- NT AUTHORITY\NETWORK (S-1-5-2)
- NT AUTHORITY\SERVICE (S-1-5-6)
- NT AUTHORITY\INTERACTIVE (S-1-5-4)
- NT AUTHORITY\TERMINAL SERVER USER (S-1-5-13)
- NT AUTHORITY\BATCH (S-1-5-3)
SID per i gruppi primari usati di frequente:
- Domain\Domain Computers (S-1-5-21-xxxxxxxx-yyyy-zzzzzz-515)
- Domain\Domain Users (S-1-5-21-xxxxxxxx-yy-zzzzzz-513)
- Domain\Domain Admins (S-1-5-21-xxxxxxxx-yyyy-zzzzzz-512)
SID che documenta come è stata verificata la sessione di accesso, uno dei valori seguenti:
- Identità asserta dell'autorità di autenticazione (S-1-18-1)
- Identità asserta del servizio (S-1-18-2)
SID che forniscono informazioni dettagliate sul contesto del token e i dettagli delle attestazioni, più di un possibile:
- Attestazioni dispositivo usate (S-1-5-21-0-0-0-496)
- Attestazioni utente usate (S-1-5-21-0-0-0-497)
- Certificato dell'organizzazione (S-1-5-65-1)
- Il token è stato compilato con l'aiuto di un'identità verificata PKI (S-1-18-4)
- Il token è stato compilato usando l'approccio MFA (S-1-18-5)
- Credential Guard è stato usato (S-1-18-6)
SID che descrivono il livello di coerenza del token, gli esempi più comuni:
- Livello obbligatorio medio (S-1-16-8192)
- Alto livello obbligatorio (S-1-16-12288)
Il token di accesso include un SID relativo all'origine utente/computer, uno dei valori seguenti:
- NT AUTHORITY\OTHER_ORGANIZATION (S-1-5-1000)
- NT AUTHORITY\This Organization (S-1-5-15) se l'account proviene dalla stessa foresta del computer.
Note
- Come si può notare con la nota in SID voce Logon Session SID, non contare i SID nell'elenco di output degli strumenti e presupporre che siano completi per tutti i computer di destinazione e i tipi di accesso. È consigliabile considerare che un account è in pericolo di entrare in questo limite quando ha più di 1.000 SID. Non dimenticare che, a seconda del computer in cui viene creato un token, è anche possibile aggiungere gruppi locali del server o della workstation.
- xxxxxxxx-yyy-zzzzzzzz indica i componenti di dominio o workstation del SID.
L'esempio seguente illustra quali gruppi di sicurezza locali del dominio verranno visualizzati nel token dell'utente quando l'utente accede a un computer in un dominio.
In questo esempio, si supponga che Joe appartenga al dominio A e sia membro di un gruppo locale di dominio Dominio A\Chicago Users. Joe è anche membro di un gruppo locale di dominio Domain B\Chicago Users. Quando Joe accede a un computer appartenente al dominio A (ad esempio, Dominio A\Workstation1), viene generato un token per Joe nel computer e il token contiene, oltre a tutte le appartenenze a gruppi universali e globali, il SID per dominio A\Chicago Users. Non conterrà il SID per dominio B\Chicago Users perché il computer in cui Joe ha eseguito l'accesso (dominio A\Workstation1) appartiene al dominio A.
Analogamente, quando Joe accede a un computer appartenente al dominio B (ad esempio, Dominio B\Workstation1), viene generato un token per Joe nel computer e il token contiene, oltre a tutte le appartenenze a gruppi universali e globali, il SID per dominio B\Chicago Users; non conterrà il SID per dominio A\Chicago Users perché il computer in cui Joe ha eseguito l'accesso (dominio B\Workstation1) appartiene al dominio B.
Tuttavia, quando Joe accede a un computer appartenente al dominio C (ad esempio, Dominio C\Workstation1), viene generato un token per Joe nel computer di accesso che contiene tutte le appartenenze a gruppi universali e globali per l'account utente di Joe. Né il SID per dominio A\Chicago Users né il SID per dominio B\Chicago Users viene visualizzato nel token perché i gruppi locali di dominio di Cui Joe è membro si trovano in un dominio diverso rispetto al computer in cui Joe ha eseguito l'accesso (dominio C\Workstation1). Viceversa, se Joe era membro di un gruppo locale di dominio appartenente al dominio C (ad esempio Domain C\Chicago Users), il token generato per Joe nel computer conterrà, oltre a tutte le appartenenze a gruppi universali e globali, il SID per dominio C\Chicago Users.