Pesante WAN e controller di dominio della CPU quando si esegue il backup dello stato del sistema

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 2789917

In questo articolo viene descritto come il backup dello stato del sistema dai controller di dominio Active Directory in modo transitivo Aggiorna gli attributi di riferimento che causano il client di Active Directory Service Interfaces (ADSI) scaricare lo schema di aggregato. Questo processo di download potenzialmente aumenta carico sul computer di ruolo di controller di dominio e la rete sottostante.
Sintomi
Quando si esegue il backup dello stato del sistema della partizione dello schema su qualsiasi controller di dominio in un insieme di strutture di Active Directory, potrebbero verificarsi i seguenti problemi:
  • Maggiore utilizzo della CPU sul computer di ruolo di controller di dominio quando il riferimento di query computer basati su Windows Active Directory gli attributi che vengono utilizzati per i seguenti scopi:
    • Per rilevare gli aggiornamenti allo schema di aggregato
    • Per copiare lo schema di aggregato da controller di dominio, se una modifica viene rilevata
  • Quando il client ADSI copia il contenuto dello schema di aggregazione da controller di dominio, un aumento del traffico di Lightweight Directory Access Protocol (LDAP) sulla rete.
Cause
Questo problema si verifica perché l'attributo della Firma DSA viene aggiornato nel contesto dei nomi di schema (schema NC) quando si esegue un backup dello stato del sistema di un controller di dominio che esegue Windows Server 2003 Service Pack 1 (SP1) o versione successiva.

Quando l'attributo della Firma DSA viene aggiornata da un backup dello stato del sistema, indicatori di data vengono aggiornati in due attributi di riferimento. Uno di questi attributi si trova sul vertice dello schema e l'altro si trova sul CN = Aggregate, CN = Schema oggetto.

Client di Windows che eseguono script e applicazioni ADSI query questi attributi di riferimento per rilevare gli aggiornamenti allo schema di aggregato. Quando rilevano tali aggiornamenti, i client ADSI scaricare una copia aggiornata dello schema di aggregazione da un controller di dominio tramite LDAP leggere.

Nota
per ulteriori informazioni sul rilevamento dello schema di aggregazione che corrisponde alla query LDAP e i/o di rete, vedere la sezione "Informazioni".
Soluzioni alternative
Una soluzione lato server e lato client anziché fornire esonero parziale riduzione ma non elimina il numero di volte che il client ADSI Scarica lo schema di aggregato. Le soluzioni lato client e lato server possono essere attuate indipendentemente uno da altro. Ciò significa che è possibile implementare la soluzione lato client solo, la modifica sul lato server o entrambe le soluzioni alternative allo stesso tempo.

Soluzione lato server



Modifica firma DSA

Per risolvere il problema lato server è costituito da impedisce l'aggiornamento dell'attributo dellaFirma DSA di backup dello stato di sistema della partizione dello schema. L'attributo Firma DSA contiene un flag DRA_INHIBIT_BACKUP_AUTO_STAMP per determinare se un backup dello stato di sistema aggiornato questo attributo. Tuttavia, poiché l'attributo della Firma DSA viene memorizzata in formato binario di grandi dimensioni, non può essere modificato facilmente utilizzando uno strumento come LDP. EXE o ADSIEDIT. MSC.

Per risolvere questo problema, eseguire uno script Windows PowerShell o un eseguibile che impedisce l'aggiornamento l'attributo della Firma DSA nella partizione dello schema di backup dello stato del sistema e, a sua volta, l'attributo whenChanged sullo schema vertice e il whenModified di attributo di CN = Aggregate oggetti.

Vedere la Modificare l'attributo dSASignature Script di PowerShell nel sito di Microsoft Script Center.

È inoltre possibile compilare ed eseguire il seguente codice di esempio per impostare o cancellare il flag DRA_INHIBIT_BACKUP_AUTO_STAMP nell'attributo Firma DSA sullo schema NC.

Sia una PowerShell o correzione programmatico venga utilizzato, è un effetto collaterale negativo per abilitare il flag DRA_INHIBIT_BACKUP_AUTO_STAMP . Questo effetto collaterale è documentato nella sezione "Informazioni".

Nota In un controller di dominio, è necessario eseguire questo esempio di codice in un contesto di protezione schema admin.

Assicurandosi che le definizioni sono aggiornate

Infine, assicurarsi che thatIPv4 e definizioni di subnet-sito, sito e subnet IPv6 sono aggiornate nell'insieme di strutture di Active Directory e coprono tutte le subnet dell'organizzazione in tutte le foreste. In questo modo surethat i computer che eseguono applicazioni ADSI che esegue la query e copiare le versioni aggiornate dello schema di aggregazione farlo dal controller di dominio del sito ottimale. Per ulteriori informazioni su come configurare le impostazioni del sito, visitare il seguente sito Web Microsoft TechNet:

Codice di esempio

//+-------------------------------------------------------------------------////// File: dsasignaturemod.c//// This is a sample program for setting or clearing the// DRA_INHIBIT_BACKUP_AUTO_STAMP flag in the dSASignature// attribute on the schema NC.////--------------------------------------------------------------------------#include <windows.h>#include <winldap.h>#include <winber.h>#include <strsafe.h>#include <stdio.h>#include <conio.h>#define CHECKLDAP(result, op) if (result) { printf("%s failed with LDAP error=0x%x(%d)\n", op, result, result); goto Exit; }#define CHECKLDAPLE(result, op) if (!result) { printf("%s failed with LDAP error=0x%x(%d)\n", op, LdapGetLastError(), LdapGetLastError()); goto Exit; }//// Type definitions for the dsaSignature attribute//#define DRA_INHIBIT_BACKUP_AUTO_STAMP (0x1)typedef struct _BACKUP_NC_HEAD_DSA_SIGNATURE_STATE_V1 {DWORD dwFlags;LONGLONG BackupErrorLatencySecs;UUID dsaGuid;} BACKUP_NC_HEAD_DSA_SIGNATURE_STATE_V1;typedef struct _BACKUP_NC_HEAD_DSA_SIGNATURE_STATE {DWORD dwVersion;DWORD cbSize;union{BACKUP_NC_HEAD_DSA_SIGNATURE_STATE_V1 V1;};} BACKUP_NC_HEAD_DSA_SIGNATURE_STATE;// Whether we are setting or clearing the bitBOOL gfSet = FALSE;// Whether we are querying the bitBOOL gfGet = FALSE;// Whether we are automating and want to skip PromptForOK()BOOL skipPrompt = FALSE;// Copy of the schema NC DNLPWSTR pszSchemaNCCopy = NULL;BOOL PromptForOK(){int prompt;BOOL ret = skipPrompt;printf("\n");printf("This program is about to %s the DRA_INHIBIT_BACKUP_AUTO_STAMP flag in\n", gfSet ? "set" : "clear");printf("the dSASignature attribute on the following directory NC:\n");printf("\n");printf(" %S\n", pszSchemaNCCopy);printf("\n");if (!skipPrompt) {printf("Do you wish to continue? (Y\\N)");prompt = _getch();printf("\n");ret = (prompt == 'Y' || prompt == 'y') ? TRUE : FALSE;}return ret;}void Usage(){CHAR szExeName[MAX_PATH];ZeroMemory(szExeName, sizeof(szExeName));GetModuleFileNameA(NULL, szExeName, ARRAYSIZE(szExeName));printf("Usage:\n");printf("\n");printf("%s [/get | /set | /clear] [/auto]\n", szExeName);printf("\n");printf(" /get - queries current state of the DRA_INHIBIT_BACKUP_AUTO_STAMP flag\n");printf(" /set - sets the DRA_INHIBIT_BACKUP_AUTO_STAMP flag\n");printf(" /clear - clears the DRA_INHIBIT_BACKUP_AUTO_STAMP flag\n");printf(" /auto - skips the prompt for proceeding (for automation purposes)\n");printf("\n");}BOOL ParseArgs(int argc, __in char ** argv){BOOL ret = FALSE;if (argc >= 2){if (!_stricmp("/get", argv[1])) {gfGet = TRUE;ret = TRUE;}else if (!_stricmp("/set", argv[1])) {gfSet = TRUE;ret = TRUE;}else if (!_stricmp("/clear", argv[1])) {gfSet = FALSE;ret = TRUE;}if (argc >= 3){if (!_stricmp("/auto", argv[2])) {skipPrompt = TRUE;}}}return ret;} void __cdecl main(int argc, __in char ** argv){BOOL fFoundDSASignature = FALSE;BOOL fFlagSet = FALSE;LDAP* ldap = NULL;ULONG cb = 0;ULONG cch = 0;ULONG result = 0;LPWSTR pszAttrs[2] = { 0 };LPWSTR* ppszSchemaNC = NULL;LDAPMod mod;LDAPMod* mods[2];LDAPMessage* pldapMsg = NULL;LDAPMessage* pldapResults = NULL;struct berval valMod;struct berval* vals[2];struct berval** val = NULL;BACKUP_NC_HEAD_DSA_SIGNATURE_STATE dsaSignature;ZeroMemory(&dsaSignature, sizeof(dsaSignature));if (!ParseArgs(argc, argv)) {Usage();return;}printf("\n");//// Init connection handle//ldap = ldap_init(NULL, LDAP_PORT);CHECKLDAPLE(ldap, "ldap_init");//// Connect to DC//result = ldap_connect(ldap, NULL);CHECKLDAP(result, "ldap_connect");//// Retrieve schema NC name//pszAttrs[0] = L"schemaNamingContext";pszAttrs[1] = NULL;result = ldap_search_sW(ldap,NULL,LDAP_SCOPE_BASE,L"(objectclass=*)",pszAttrs,0,&pldapResults);CHECKLDAP(result, "ldap_search_s for schemaNamingContext");pldapMsg = ldap_first_entry(ldap, pldapResults);CHECKLDAPLE(pldapMsg, "ldap_first_entry");//// Make a copy of the schema NC name//ppszSchemaNC = (LPWSTR*)ldap_get_valuesW(ldap, pldapMsg, L"schemaNamingContext");cch = wcslen(ppszSchemaNC[0]) + 1;pszSchemaNCCopy = (LPWSTR)malloc(cch * sizeof(WCHAR));StringCchCopy(pszSchemaNCCopy, cch, ppszSchemaNC[0]);ldap_value_free(ppszSchemaNC);ppszSchemaNC = NULL;ldap_msgfree(pldapResults);pldapResults = NULL;//// Bind to the DC//result = ldap_bind_s(ldap, pszSchemaNCCopy, NULL, LDAP_AUTH_NEGOTIATE);CHECKLDAP(result, "ldap_bind_s");//// Retrieve current value of the dSASignature attribute//pszAttrs[0] = L"dSASignature";pszAttrs[1] = NULL;result = ldap_search_sW(ldap,pszSchemaNCCopy,LDAP_SCOPE_BASE,L"(objectclass=*)",pszAttrs,0,&pldapResults);CHECKLDAP(result, "ldap_search_s for dSASignature");pldapMsg = ldap_first_entry(ldap, pldapResults);CHECKLDAPLE(pldapMsg, "ldap_first_entry");//// Make a copy of the dSASignature attribute.//val = (struct berval**)ldap_get_values_len(ldap, pldapMsg, L"dSASignature");// Make sure that the value was there and seems to be the correct size.if (val && val[0]) {if (val[0]->bv_len == sizeof(BACKUP_NC_HEAD_DSA_SIGNATURE_STATE)) {memcpy(&dsaSignature, val[0]->bv_val, val[0]->bv_len);fFoundDSASignature = TRUE;}}ldap_value_free_len(val);val = NULL;ldap_msgfree(pldapResults);pldapResults = NULL;//// Sanity check//if (!fFoundDSASignature ||dsaSignature.dwVersion != 1) {printf("The dSASignature attribute was either not\n");printf("found or was in an unexpected format.\n");goto Exit;}//// Cache whether the flag is set already or not//fFlagSet = (DRA_INHIBIT_BACKUP_AUTO_STAMP & dsaSignature.V1.dwFlags) ? TRUE : FALSE;//// If query-only mode, display current setting and leave//if (gfGet) {printf("The target directory %s have the DRA_INHIBIT_BACKUP_AUTO_STAMP set.\n",fFlagSet ? "DOES" : "DOES NOT");goto Exit;}//// If doing a modification, see whether there is anything to do.//if (gfSet && fFlagSet) {printf("The /set operation was specified but the target directory already\n");printf(" has the flag set. Exiting with no changes.\n");goto Exit;}else if (!gfSet && !fFlagSet) {printf("The /clear operation was specified but the target directory already\n");printf(" has the flag cleared. Exiting with no changes.\n");goto Exit;}//// Yes there is work to do; prompt the admin// for approval before you continue.//if (!PromptForOK()) {goto Exit;}//// Set or clear the bit in our local copy//if (gfSet) {dsaSignature.V1.dwFlags |= DRA_INHIBIT_BACKUP_AUTO_STAMP;}else {dsaSignature.V1.dwFlags &= (~DRA_INHIBIT_BACKUP_AUTO_STAMP);}//// Prepare for the modify//ZeroMemory(&valMod, sizeof(valMod));valMod.bv_len = sizeof(dsaSignature);valMod.bv_val = (PCHAR)&dsaSignature;vals[0] = &valMod;vals[1] = NULL;ZeroMemory(&mod, sizeof(mod));mod.mod_op = LDAP_MOD_REPLACE | LDAP_MOD_BVALUES;mod.mod_type = L"dSASignature";mod.mod_vals.modv_bvals = vals;mods[0] = &mod;mods[1] = NULL;//// And do it://result = ldap_modify_s(ldap,pszSchemaNCCopy,mods);CHECKLDAP(result, "ldap_modify_s for dSASignature");printf("\n");printf("Modification succeeded!\n");Exit:if (pszSchemaNCCopy) {free(pszSchemaNCCopy);}if (ldap) {ldap_unbind(ldap);}printf("\n");return;}

Output di programma di esempio

Di seguito sono riportati gli output di programma di esempio:
C:\>dsasignaturemod.exe /get The target directory DOES NOT have the DRA_INHIBIT_BACKUP_AUTO_STAMP set.
C:\>dsasignaturemod.exe /set  This program is about to set the DRA_INHIBIT_BACKUP_AUTO_STAMP flag inthe dSASignature attribute on the following directory NC:     CN=Schema,CN=Configuration,DC=rootdomain,DC=com Do you wish to continue? (Y\N) Modification succeeded!
C:\>dsasignaturemod.exe /set /auto  This program is about to set the DRA_INHIBIT_BACKUP_AUTO_STAMP flag inthe dSASignature attribute on the following directory NC:     CN=Schema,CN=Configuration,DC=rootdomain,DC=com  Modification succeeded!
C:\>dsasignaturemod.exe /get The target directory DOES have the DRA_INHIBIT_BACKUP_AUTO_STAMP set.
C:\>dsasignaturemod.exe /clear  This program is about to clear the DRA_INHIBIT_BACKUP_AUTO_STAMP flag inthe dSASignature attribute on the following directory NC:     CN=Schema,CN=Configuration,DC=rootdomain,DC=com Do you wish to continue? (Y\N) Modification succeeded!
C:\>dsasignaturemod.exe /clear /auto  This program is about to clear the DRA_INHIBIT_BACKUP_AUTO_STAMP flag inthe dSASignature attribute on the following directory NC:     CN=Schema,CN=Configuration,DC=rootdomain,DC=com  Modification succeeded!

Soluzione lato client

Ottimizzazione della selezione del controller di dominio

Alcune applicazioni in modo esplicito la connessione a un controller di dominio specifico e quindi scaricare la cache dello schema aggiornato dal controller di dominio. Tuttavia, le applicazioni in genere lascerò al localizzatore di Controller di dominio per trovare il miglior controller di dominio per un determinato contesto di denominazione LDAP. Client potrebbero sperimentare un considerevole ritardo nell'aggiornamento della cache dello schema, perché i controller di dominio di destinazione tramite una connessione di rete lenta. Questo problema può verificarsi oltre i limiti dell'insieme di strutture. L'obiettivo è sempre quello di scaricare la cache dello schema dal controller di dominio più vicino in termini di rete.

Soluzione alternativa

La soluzione lato client consiste nel configurare i computer che eseguono Windows Vista, Windows Server 2008 o versioni successive per utilizzare un per ogni computer basato su un archivio per lo schema di aggregato.

Nei computer basati su Windows XP, la cache dello schema di aggregazione utilizzato un archivio per computer. Ciò significa che il download dello schema di aggregazione è stato condiviso tra tutti gli utenti che sono state effettuando l'accesso al computer locale, a condizione che entrambi gli utenti dispongono di diritti amministrativi o gli archivi di file system e Registro di sistema locali dispongono delle autorizzazioni di scrittura concesse agli utenti autenticati. In caso contrario, la cache dello schema doveva essere scaricati nella RAM durante ogni sessione ADSI e stata eliminata al termine della sessione di ADSI.

In Windows Vista e versioni successive, la cache dello schema ADSI è implementata in un archivio utente. Sebbene la protezione risulta migliorata con la cache per singolo utente, specifici di ciascun utente che esegue l'accesso a un protocollo RDP (Remote Desktop) o Terminal Server, AQ, chiosco o un sistema multiutente può causare lo stesso computer scaricare la cache dello schema ADSI.

È possibile forzare un fallback alla configurazione archivio per computer nel computer che eseguono Windows Vista e versioni successive impostando il le REG DWORD nel percorso del Registro di sistema HKLM\SYSTEM\CurrentControlSet\Services\ADSI\Cache su un valore pari a 1. Inoltre, è necessario concedere l'accesso in scrittura su %systemroot%\SchCache e HKLM\Software\Microsoft\ADs\Providers\LDAP agli utenti autenticati. Per ulteriori informazioni, vedere ADSI e controllo Account utente.

Nota Utilizzo dell'archivio "per computer" è particolarmente utile in scenari in cui un profilo utente comune viene eliminato quando l'utente si disconnette. Tali utenti sono necessario creare un nuovo profilo comune e potrebbero essere necessario scaricare lo schema di aggregato. Di seguito alcuni scenari specifici che causano l'eliminazione di un profilo comune:
  • Utenti sono configurati per accedere al sistema utilizzando i profili utente obbligatori.
  • Utenti che sono soggetti al criterio "Elimina i profili utente dopo un numero specificato di giorni all'avvio del sistema".
  • Utenti che sono soggetti al criterio "Elimina copie memorizzate nella cache dei profili comuni".
  • Un utente il cui profilo memorizzato nella cache è stata eliminata da uno script o strumento come DELPROF. EXE o equivalente.
Informazioni

Informazioni su ADSI

Un client ADSI è un'implementazione a livello di codice che accede ad Active Directory in conformità per il modello COM (Component Object).

Computer basati su Windows che eseguono script e applicazioni ADSI conservare una copia locale di aggregata schema di Active Directory. All'inizio di ogni sessione client ADSI, l'attributo dello schema di riferimento è selezionata per le modifiche. Poiché nessun attributo esplicito in Active Directory identifica tutte le modifiche allo schema di Active Directory, gli attributi proxy vengono utilizzati per determinare quando i computer Windows devono copiare una copia aggiornata dello schema di aggregazione in rete da un controller di dominio nel dominio del client. Esempi di applicazioni ADSI includono quanto segue:
  • Active Directory Amministrazione centrale Microsoft Management Console (MMC) snap-in di
  • Snap-in MMC Active Directory domini e trust
  • Snap-in MMC di servizi e siti di Active Directory
  • Snap-in MMC Active Directory utenti e computer
  • Snap-in MMC Modifica ADSI
  • Snap-in MMC di DHCP
  • Snap-in MMC DNS Manager
  • Exchange Management Console
  • Snap-in MMC Gestione Criteri gruppo
  • Squery.exe

Attributi che vengono utilizzati per rilevare le modifiche allo schema di aggregata

Nella tabella seguente viene fornita una panoramica degli attributi che vengono utilizzati per rilevare le modifiche dello schema di aggregazione per ogni versione di Windows:

Versione del sistema operativo client ADSICondizione per il download di cache dello schema ADSI
Windows XP
Windows Server 2003
Windows Server 2003 R2
Windows Vista / Windows Server 2008
Windows 7 / Windows Server 2008 R2
Aggiornamento dell'attributo modifyTimeStamp oggetto schema aggregato
Windows 8 / Windows Server 2012
Windows 8.1 / Windows Server 2012 R2
Aggiornamento dell'attributo di schema whenChanged
Se viene rilevata una modifica in uno di questi attributi proxy, il client ADSI Scarica una nuova copia dello schema di aggregata.

Computer che eseguono sistemi operativi precedenti a Windows 8 o Windows Server 2012 query l'attributo modifyTimeStamp sullo schema di aggregazione. Il modifyTimeStamp è stata aggiornata dal riavvio del servizio Active Directory in modo che il riavvio di un controller di dominio o il riavvio del servizio Active Directory ha causato alcuni client ADSI scaricare la cache dello schema di aggregazione da un controller di dominio quando si è verificato Nessuna modifica dello schema legittimi. Questo era minore di un problema tempestivamente, perché Active Directory è diventato un servizio riavviabile in Windows Server 2008.

Computer che eseguono Windows Server 2012, Windows 8 o versioni successive query l'attributo whenChanged sullo schema di vertice. L'attributo whenChanged ha l'effetto collaterale di essere aggiornato quando un backup dello stato del sistema aggiorna l'attributo Firma DSA nel contesto dei nomi di schema. Aggiorna a sua volta il timestamp sull'attributo whenChanged dello schema di vertice.

Eventi che aggiornare gli attributi proxy schema aggregato in un controller di dominio

Nella tabella seguente viene fornita una panoramica degli attributi di riferimento che vengono aggiornati in base alla versione del sistema operativo e le operazioni che attivano gli aggiornamenti di attributo.

Versione del sistema operativo di controller di dominioCondizione per l'aggiornamento dell'attributo modifyTimeStamp schema aggregatoCondizione per l'aggiornamento dell'attributo whenChanged schema
Windows Server 2003
Windows Server 2003 R2
Windows Server 2008
Windows Server 2008 R2
Controller di dominio o di avvio del servizio Directory di NT (NTDS) Estensione dello schema / backup dello stato di sistema
Windows Server 2008 R2 con KB 2671874
Windows Server 2012
Windows Server 2012 R2
Estensione dello schema / backup dello stato di sistemaEstensione dello schema / backup dello stato di sistema
Se viene rilevata una modifica, è necessario scaricare la cache dello schema ADSI. Un backup dello stato del sistema scrive i dati nell'attributo Firma DSA del contesto di denominazione dello schema che comporta un timestamp aggiornato whenChanged dello schema.

Il rilevamento degli aggiornamenti della cache dello schema di aggregazione dai client ADSI

Per rilevare elevato della CPU e della rete, utilizzare il Network Monitor 3.4 strumento per acquisire l'utilizzo della rete e quindi eseguire la procedura per analizzare i risultati:
  1. Utilizzare uno dei seguenti filtri di visualizzazione dello strumento, a seconda del sistema operativo Windows.

    Nota Questi filtri, sostituire la stringa "CN = Schema, CN = Configuration, DC = Contoso, DC = com" con il percorso del nome distinto (DN) del contesto di Active Directory schema dei nomi in questione.
    Windows 7 e client precedenti
    Utilizzare il seguente filtro di visualizzazione per interrogare il valore di attributo modifyTimeStamp sull'oggetto dello schema di aggregazione del traffico di rete acquisiti:
    (LDAPMessage.SearchRequest.BaseObject.OctetStream == "CN=Aggregate,CN=Schema,CN=Configuration,DC=Contoso,DC=com" AND LDAPMessage.SearchRequest.Attributes.Attribute.OctetStream == "modifyTimeStamp") OR(LDAPMessage.SearchResultEntry.ObjectName.OctetStream == "CN=Aggregate,CN=Schema,CN=Configuration,DC=Contoso,DC=com" AND LDAPMessage.SearchResultEntry.Attributes.PartialAttribute.Type.OctetStream == "modifyTimeStamp")
    Windows 8 e versioni successive dei client

    Utilizzare il seguente filtro di visualizzazione per interrogare il valore di attributo whenChanged sullo schema head NC il traffico di rete acquisiti:
    (LDAPMessage.SearchRequest.BaseObject.OctetStream == "CN=Schema,CN=Configuration,DC=Contoso,DC=com" AND LDAPMessage.SearchRequest.Attributes.Attribute.OctetStream == "whenChanged") OR (LDAPMessage.SearchResultEntry.ObjectName.OctetStream == "CN=Schema,CN=Configuration,DC=Contoso,DC=com" AND LDAPMessage.SearchResultEntry.Attributes.PartialAttribute.Type.OctetStream == "whenChanged")
    Per impostazione predefinita, questo valore viene confrontato con il valore di ora del client nella seguente chiave del Registro di sistema:

    HKEY_CURRENT_USER\Software\Microsoft\ADs\Providers\LDAP\CN=Aggregate,CN=Schema,CN=Configuration,DC=<root domain>,DC=com

    Se l'ora nell'attributo modifyTimeStamp o whenChanged è successivo rispetto al valore memorizzato nel Registro di sistema, il client scarica una cache di schema aggiornato. (Questo attributo dipende dal sistema operativo client.)

    Di seguito è una schermata di esempio dello strumento:

    Questa schermata è riportato un esempio che, se il tempo nell'attributo modifyTimeStamp o whenChanged è successivo rispetto al valore memorizzato nel Registro di sistema

    Dalla schermata, è possibile vedere quanto segue:
    • Il client ADSI si associa al controller di dominio nel fotogramma 8 nome.
    • La ricerca LDAP per l'attributo di schema proxy modificato viene memorizzata in uno dei primi fotogrammi LDAPSASLBuffer che seguono l'associazione.
    • Il traffico LDAP crittografato in diversi frame LDAPSASLBuffer (porta del controller di dominio di destinazione = TCP 389).
    • Il controller di dominio continua a inviare ulteriori dati crittografati su molti frame TCP con una lunghezza payload TCP di 1460.
  2. Dopo aver avere identificato la conversazione corretta nella traccia di rete che è stato rilevato il problema, è possibile applicare un filtro sulla porta TCP che utilizza il client. Nell'esempio, la conversazione viene avviata dal client sulla porta TCP 65237. Un filtro di Network Monitor ad esempio "tcp.port = = 65237" può essere utilizzato per isolare i frame correlati.
  3. Se si copiano tutti i fotogrammi in questa conversazione e Incolla in Microsoft Excel, vedere che la copia dello schema di aggregazione predefinita ha una dimensione di payload TCP pari a 2 megabyte (MB) di dati in transito. La dimensione del file dello schema di aggregazione predefinito è di circa 4 MB della codifica.

Correlare il traffico di rete al processo del client

È possibile utilizzare Monitor di sistema (Sysmon) per determinare il processo del client che ha avviato la conversazione. 3 l'ID evento viene registrato nel registro eventi di Microsoft-Windows-Sysmon operazione quando Sysmon viene installato e configurato per le connessioni LDAP di registro. Ciò consente di correlare il traffico di rete a un processo lato client perché l'accesso IP di origine e la porta con il nome immagine e ProcessID.


Nome di log: Microsoft-Windows-Sysmon/operativo
Origine: Microsoft-Windows-Sysmon
Data: Data
ID evento: 3
Categoria di attività: È stata rilevata connessione di rete (regola: NetworkConnect)
Livello: informazioni
Parole chiave:
Utente: sistema
Computer: Computer
Descrizione:
Connessione di rete rilevata:
SequenceNumber: 206
UtcTime: UtcTime
ProcessGuid: {ProcessGuid}
ProcessId: 3220
Immagine: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Utente: Nome utente
Protocollo: tcp
Iniziato: true
SourceIsIpv6: false
SourceIp: SourceIp
SourceHostname: ADSIClient
PortaOrigine: 65237
SourcePortName:
DestinationIsIpv6: false
DestinationIp: DestinationIp
DestinationHostname: DestinationHostname
DestinationPort: 389
DestinationPortName: ldap
Eventi Xml:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider name="Microsoft-Windows-Sysmon" guid=""></Provider></System></Event>"{Nome del provider}" />
<EventID>3</EventID>
<Version>4</Version>
<Level>4</Level>
<Task>3</Task>
<Opcode>0</Opcode>
<Keywords>0x8000000000000000</Keywords>
<TimeCreated SystemTime=" systemtime=""></TimeCreated SystemTime=">Ora" />
<EventRecordID>39</EventRecordID>
<Correlation></Correlation>
<Execution processid="1140" threadid="3492"></Execution>
<Channel>Microsoft-Windows-Sysmon/operativo</Channel>
<>r >Computer
<Security UserID=" userid=""></Security UserID=">ID utente" />

<EventData>
<Data name="SequenceNumber">206</Data>
<Data name="UtcTime"></Data></EventData>Ora
<Data name="ProcessGuid">{</Data>ProcessGuid}
<Data name="ProcessId">3220</Data>
<Data name="Image">C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Data>
<Data name="User"></Data>Utente
<Data name="Protocol">TCP</Data>
<Data name="Initiated">true</Data>
<Data name="SourceIsIpv6">false</Data>
<Data name="SourceIp"></Data>SourceIp
<Data name="SourceHostname"></Data>SourceHostname
<Data name="SourcePort">65237</Data>
<Data name="SourcePortName">
</Data>
<Data name="DestinationIsIpv6">false</Data>
<Data name="DestinationIp"></Data>DestinationIp
<Data name="DestinationHostname"></Data>DestinationHostname
<Data name="DestinationPort">389</Data>
<Data name="DestinationPortName">LDAP</Data>

Process Monitor registrazione sul client

Process Monitor sul client di registrazione fornisce informazioni contestuali. Filtrare il registro Process Monitor sull'ID di processo che viene registrato nell'evento registrati dai Sysmon.

La schermata filtri di accesso di Process Monitor ID processo eseguito nell'evento registrati dai Sysmon

Sono disponibili le seguenti operazioni di interesse.
OperazionePercorso
RegOpenKeyHKLM\SYSTEM\CurrentControlSet\Services\ADSI\Cache
RegQueryValueHKCU\Software\Microsoft\ADs\Providers\LDAP\CN = Aggregate, CN = Schema, CN = Configuration, DC =dominio figlio, DC =dominio principale, DC = com\Time
Ricezione TCPNome host>: porta-> <DCName> </DCName>: LDAP
RegCreateKeyHKCU\SOFTWARE\Microsoft\ADs\Providers\LDAP\CN = Aggregate, CN = Schema, CN = Configuration, DC =dominio figlio, DC =dominio principale, DC = com
WriteFileC:\Users\<username>\AppData\Local\Microsoft\Windows\SchCache\</username>dominio figlio.dominio principale. com.sch
Nota È possibile controllare se i computer basati su Windows sta aggiornando la copia locale della cache dello schema di aggregazione è per il controllo delle modifiche della data e ora del file *.sch nel file system locale del client ADSI.

Per ridefinire il filtro per i registri di Process Monitor molto grandi, è possibile utilizzare i dati nella tabella seguente.

Filtri opzionali aggiuntivi:
ColonnaRelazioneValore
PercorsoContieneSchCache
OperazioneÈWriteFile
La schermata è il filtro di Monitor di processo

Configurazione di connessioni LDAP registro Sysmon

  1. Download Sysmon sul client.
  2. Creare un nuovo file di testo per la configurazione di Sysmon, salvare il file come Sysmonconfig.xml e aggiungere il seguente contenuto:

    <Sysmon schemaversion="2.0">  <!-- Capture all hashes -->  <HashAlgorithms>*</HashAlgorithms>  <EventFiltering>  <!-- Log all drivers except if the signature -->  <!-- contains Microsoft or Windows -->  <DriverLoad onmatch="exclude">  <Signature condition="contains">microsoft</Signature>  <Signature condition="contains">windows</Signature>  </DriverLoad>  <!-- Do not log process termination -->  <ProcessTerminate onmatch="include" />  <!-- Log network connection if the destination port equal 443 -->  <NetworkConnect onmatch="include">  <DestinationPort>389</DestinationPort><DestinationPort>636</DestinationPort><DestinationPort>3268</DestinationPort><DestinationPort>3269</DestinationPort>  </NetworkConnect>  </EventFiltering></Sysmon>
  3. Eseguire il comando seguente per installare Sysmon:
    Sysmon -i sysmonconfig.xml

Effetto collaterale di attivare il flag DRA_INHIBIT_BACKUP_AUTO_STAMP

Un effetto collaterale di attivare il flag DRA_INHIBIT_BACKUP_AUTO_STAMP è l'evento che ID 2089 viene erroneamente indicato che la partizione dello schema non è in corso acquisita in insiemi di strutture che sta creando i backup dello stato del sistema.

Esempio di evento ID 2089 analogo al seguente viene registrato nel registro applicazione:


Tipo di evento: avviso
Origine evento: La replica NTDS
Categoria evento: Backup
ID evento: 2089
Data: data
Ora: ora
Utente: nome utente
Computer: nome computer
Descrizione:

Questa partizione di directory backup non è stato rispetto al minimo il numero di giorni seguente.

Partizione di directory:

CN = schema, DC = di partizione applicativa dns di primo livello dell'insieme di strutture

Nota ID evento 2089 non è connesso ad esempio per le altre partizioni chiave CN = Configuration o partizioni di directory di dominio poiché non esiste alcun metodo per eseguire il backup specifici di partizione. Per ulteriori informazioni, vedere il seguente articolo della Microsoft Knowledge Base:
914034 2089 eventi di replica NTDS viene registrato se Windows Server 2003 SP1 e versioni successive controller di dominio non backup in un determinato periodo di tempo

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 2789917 - Ultima revisione: 07/28/2015 15:55:00 - Revisione: 3.0

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Essentials, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Essentials, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard

  • kbexpertiseadvanced kbsurveynew kbbug kbprb kbtshoot kbmt KB2789917 KbMtit
Feedback