Controlador de dominio y WAN gran uso de la CPU al realizar copias de seguridad

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 2789917

Este artículo describe cómo copias de seguridad de los controladores de dominio de Active Directory de manera transitiva actualizan atributos de referencia de que hacer que los clientes de Active Directory Service Interfaces (ADSI) descargar el esquema agregado. Este proceso de descarga aumenta potencialmente la carga en los equipos de función de controlador de dominio y la red subyacente.
Síntomas
Al realizar la copia de seguridad de la partición del esquema en cualquier controlador de dominio en un bosque de Active Directory, pueden producirse los problemas siguientes:
  • Un mayor uso de CPU en equipos de función de controladores de dominio cuando los atributos de referencia de consulta de equipos basados en Windows Active Directory que se utilizan para los fines siguientes:
    • Para detectar las actualizaciones del esquema agregado
    • Para copiar el esquema agregado de los controladores de dominio si un cambio se detecta
  • Aumentar el tráfico de protocolo ligero de acceso a directorios (LDAP) en la red cuando los clientes ADSI copien el contenido del esquema agregado desde los controladores de dominio.
Causa
Este problema se produce porque el atributo de Firma DSA se actualiza en el contexto de nomenclatura de esquema (schema CN) al realizar una copia de seguridad de un controlador de dominio que ejecuta Windows Server 2003 Service Pack 1 (SP1) o una versión posterior.

Cuando se actualiza el atributo de Firma DSA por una copia de seguridad, registros de fecha se actualizan dos atributos de referencia. Uno de estos atributos se encuentra en el encabezado NC del esquema, y el otro se encuentra en la CN = Aggregate, CN = Schema objeto.

Los clientes de Windows que se ejecutan las secuencias de comandos y aplicaciones de ADSI consultan estos atributos de referencia para detectar las actualizaciones del esquema agregado. Cuando se detectan las actualizaciones, los clientes ADSI descargar una copia actualizada del esquema agregado un controlador de dominio a través de un lectura LDAP.

Nota
para obtener más información acerca de la detección del esquema agregado que está relacionado con las consultas LDAP y E/S de red, consulte la sección "Más información".
Soluciones provisionales
Una solución de servidor y una solución de cliente proporcionan exención parcial por reducir pero no eliminar el número de veces que los clientes ADSI descargar el esquema agregado. Se pueden implementar las soluciones de cliente y servidor independientemente uno del otro. Esto significa que puede implementar la solución del cliente, el cambio de servidor o ambas soluciones al mismo tiempo.

Solución de servidor



Edición de firma DSA

La solución de servidor consiste en impedir que copias de seguridad de la partición de esquema actualizar el atributo deFirma DSA . El atributo de Firma DSA contiene un indicador DRA_INHIBIT_BACKUP_AUTO_STAMP para determinar si una copia de seguridad actualiza este atributo. Sin embargo, como el atributo de Firma DSA se almacena en formato binario de gran tamaño, se no se puede cambiar fácilmente mediante el uso de una herramienta como LDP. EXE o ADSIEDIT. MSC.

Para evitar este problema, ejecute una secuencia de comandos de Windows PowerShell o un archivo ejecutable que impide que las copias de seguridad de estado de sistema actualizar el atributo de Firma DSA en la partición de esquema y, a su vez, el atributo whenChanged en el encabezado NC del esquema y el whenModified de atributo en el CN = Aggregate objetos.

Consulte la Editar atributos de dSASignature Secuencia de comandos de PowerShell en el sitio Microsoft Script Center.

También puede compilar y ejecutar el siguiente código de ejemplo para establecer o borrar la marca DRA_INHIBIT_BACKUP_AUTO_STAMP en el atributo de Firma DSA en el NC del esquema.

Independientemente de si se utiliza un PowerShell o corrección mediante programación, hay un efecto secundario negativo de habilitar el indicador DRA_INHIBIT_BACKUP_AUTO_STAMP . Este efecto secundario se documenta en la sección "Más información".

Nota: Este ejemplo de código se debe ejecutar en un contexto de seguridad del Administrador de esquema en un controlador de dominio.

Asegurarse de que las definiciones están actualizadas

Por último, asegúrese de thatIPv4 y definiciones de subred a sitios, sitio y subred IPv6 están actualizadas en el bosque de Active Directory y cubren todas las subredes de su empresa en todos los bosques. De esta manera los equipos surethat que ejecutan aplicaciones ADSI que están consultando y copia las versiones actualizadas del esquema agregado hacen desde los controladores de dominio de sitio óptimo. Para obtener más información acerca de cómo configurar la configuración del sitio, visite el siguiente sitio Web de Microsoft TechNet:

Código de ejemplo

//+-------------------------------------------------------------------------////// 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;}

Resultado del programa de ejemplo

Los siguientes son los resultados del programa de ejemplo:
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!

Solución de cliente

Optimizar la selección del controlador de dominio

Algunas aplicaciones conectan explícitamente a un controlador de dominio específico y, a continuación, descargar la caché de esquema actualizada de este controlador de dominio. Sin embargo, las aplicaciones normalmente dejan al localizador de controlador de dominio para buscar el mejor controlador de dominio de un determinado contexto de nomenclatura de LDAP. Los clientes pueden experimentar un retraso significativo en la actualización de la caché de esquema debido a los controladores de dominio de destino a través de una conexión de red lenta. Esto es probable que se produzca a través de los límites del bosque. Su objetivo debe ser siempre descargar la caché del esquema del controlador de dominio más cercano en la red.

Solución alternativa

La solución cliente consiste en configurar equipos que ejecutan Windows Vista, Windows Server 2008 o versiones posteriores para utilizar un almacén por cada equipo basado en el esquema agregado.

En equipos basados en Windows XP, en la caché de esquema agregado utiliza un almacén de la máquina. Esto significa que la descarga del esquema agregado se comparte entre todos los usuarios que iniciara sesión en el equipo local, siempre y cuando los usuarios tienen derechos administrativos o los almacenes locales en el sistema de archivos y el registro tienen permisos de escritura a los usuarios autenticados. De lo contrario, la caché de esquema tenía que ser descargado en la memoria RAM durante cada sesión ADSI y se descartó una vez finalizada la sesión ADSI.

En Windows Vista y versiones posteriores, la caché del esquema ADSI se implementa en un almacén por usuario. Aunque se ha mejorado la seguridad con la caché por usuario, cada usuario único que está iniciando sesión en Terminal Server AQo un protocolo de escritorio remoto (RDP), una exposición u otro sistema multiusuario puede causar el mismo equipo descargar la caché del esquema ADSI.

Puede hacer una reserva en la configuración de almacén de máquina en equipos que ejecutan Windows Vista y versiones posteriores, establezca el PerMachine REG DWORD en la ruta del registro HKLM\SYSTEM\CurrentControlSet\Services\ADSI\Cache a un valor de 1. Además, debe conceder acceso de escritura en %systemroot%\SchCache y HKLM\Software\Microsoft\ADs\Providers\LDAP a los usuarios autenticados. Para obtener más información, vea ADSI y Control de cuentas de usuario.

Nota: Usar el almacén "por equipo" resulta especialmente útil en situaciones en las que se elimina un perfil de usuario móvil cuando el usuario cierra la sesión. Los usuarios deben crear un nuevo perfil móvil y quizás tenga que descargar el esquema agregado. Escenarios específicos que causan la eliminación de un perfil móvil son las siguientes:
  • Usuarios que están configurados para iniciar sesión mediante el uso de perfiles de usuario obligatorios.
  • Usuarios que están sujetos a la directiva "eliminar perfiles de usuario anteriores a un número especificado de días del inicio del sistema".
  • Usuarios que están sujetos a la directiva "eliminar copias en caché de perfiles móviles".
  • Un usuario cuyo perfil en caché fue eliminada por una secuencia de comandos o una herramienta como DELPROF. EXE o un equivalente.
Más información

Información acerca de ADSI

Un cliente ADSI es una implementación de programación que tiene acceso a Active Directory con el fin de ajustarse para el modelo de objetos componentes (COM).

Los equipos basados en Windows que se ejecutan las secuencias de comandos y aplicaciones de ADSI mantienen una copia local del esquema de Active Directory agregado. Al principio de cada sesión de cliente ADSI, se comprueba el atributo del esquema de referencia para los cambios. Porque ningún atributo explícito en Active Directory identifica todos los posibles cambios en el esquema de Active Directory, se utilizan atributos de proxy para determinar cuándo los equipos basados en Windows deben copiar una copia actualizada del esquema agregado a través de la red desde un controlador de dominio en el dominio del cliente respectivo. A continuación se indican algunos ejemplos de aplicaciones de ADSI:
  • El complemento de Active Directory administrativas centro Microsoft Management Console (MMC)
  • Complemento MMC de confianza y dominios de Active Directory
  • Complemento MMC de servicios y sitios de Active Directory
  • Complemento MMC de equipos y usuarios de Active Directory
  • El complemento de MMC Edición de ADSI
  • Complemento MMC de DHCP
  • Complemento MMC del Administrador de DNS
  • Consola de administración de Exchange
  • Complemento MMC de administración de directiva grupo
  • Squery.exe

Atributos que se utilizan para detectar cambios en el esquema agregado

En la siguiente tabla proporciona una visión general de los atributos que se utilizan para detectar los cambios de esquema de agregado para cada versión de Windows:

Versión del sistema operativo cliente ADSIEstado de descarga de memoria caché del esquema ADSI
Windows XP
Windows Server 2003
Windows Server 2003 R2
Windows Vista y Windows Server 2008
Windows 7 / Windows Server 2008 R2
Actualización del atributo modifyTimeStamp en el objeto de esquema de agregado
Windows 8 / Windows Server 2012
Windows 8.1 / R2 de Windows Server 2012
Actualización del atributo de esquema whenChanged
Si se detecta un cambio en uno de estos atributos de proxy, el cliente ADSI descarga una nueva copia del esquema agregado.

Los equipos que ejecutan sistemas operativos anteriores a Windows 8 o Windows Server 2012 consultan el atributo modifyTimeStamp en el esquema agregado. El modifyTimeStamp fue actualizada por reinicios del servicio Active Directory de forma que reiniciar un controlador de dominio o reiniciar el servicio de Active Directory causados algunos clientes ADSI descargar la caché del esquema agregado desde un controlador de dominio cuando no se hubiera producido ningún cambio de esquema legítimas. Esto era menor de un problema, ya que Active Directory se convirtió en un servicio con capacidad de reinicio en Windows Server 2008.

Los equipos que ejecutan Windows 8, Windows Server 2012 o una versión posterior de consulta el atributo whenChanged en el encabezado NC del esquema. El atributo whenChanged tiene el efecto secundario de que se actualiza cuando una copia de seguridad actualiza el atributo de Firma DSA en el contexto de nomenclatura de esquema. Esto a su vez actualiza la marca de tiempo en el atributo whenChanged del encabezado NC de esquema.

Eventos que actualización esquema agregado atributos de proxy en un controlador de dominio

En la siguiente tabla proporciona una visión general de los atributos de referencia se actualizan según la versión del sistema operativo y las operaciones que activan las actualizaciones de atributos.

Versión de sistema operativo del controlador de dominioCondición para la actualización del atributo de esquema de agregado modifyTimeStampCondición para la actualización del atributo schema whenChanged
Windows Server 2003
Windows Server 2003 R2
Windows Server 2008
Windows Server 2008 R2
Inicia el controlador de dominio o el servicio de directorio de NT (NTDS) Extensión del esquema / copia de seguridad de estado del sistema
Windows Server 2008 R2 con KB 2671874
Windows Server 2012
Windows Server 2012 R2
Extensión del esquema / copia de seguridad de estado del sistemaExtensión del esquema / copia de seguridad de estado del sistema
Si se detecta un cambio, la caché del esquema ADSI debe descargarse. Una copia de seguridad escribe datos en el atributo de Firma DSA del contexto de nomenclatura de esquema que da como resultado una marca de tiempo actualizados whenChanged del esquema.

Detección de actualizaciones de la caché de esquema agregadas por los clientes ADSI

Para detectar el uso alto de CPU y uso de la red, utilice el 3.4 el Monitor de red herramienta para capturar el uso de la red y, a continuación, siga estos pasos para analizar los resultados:
  1. Utilice uno de los siguientes filtros de visualización en la herramienta, dependiendo del sistema operativo Windows.

    Nota: En estos filtros, reemplace la cadena "CN = Schema, CN = Configuration, DC = Contoso, DC = com" por la ruta de nombre completo (DN) del Active Directory esquema del contexto de nomenclatura en cuestión.
    Windows 7 y los clientes anteriores
    Utilice el siguiente filtro de visualización para consultar el valor del atributo modifyTimeStamp en el objeto de esquema de agregado en el tráfico de red capturado:
    (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 y versiones posteriores

    Utilice el siguiente filtro de visualización para consultar el valor del atributo whenChanged en el esquema de encabezado NC en el tráfico de red capturado:
    (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")
    De manera predeterminada, este valor se compara con el valor de tiempo en el registro del cliente en la siguiente clave:

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

    El cliente descarga una caché de esquema actualizado si el tiempo en el atributo modifyTimeStamp o whenChanged es posterior al valor que se almacena en el registro. (Este atributo depende del sistema operativo cliente).

    La siguiente es una captura de pantalla de ejemplo de la herramienta:

    Esta captura de pantalla es un ejemplo de eso si el tiempo en el atributo modifyTimeStamp o whenChanged es posterior al valor que se almacena en el registro

    Desde la captura de pantalla, puede ver lo siguiente:
    • El cliente ADSI se enlaza al controlador de dominio en nombre de fotograma 8.
    • La búsqueda LDAP para el atributo de proxy modificado del esquema se almacena en uno de los primeros fotogramas de LDAPSASLBuffer que siguen el enlace.
    • Se cifra el tráfico LDAP en varios marcos de LDAPSASLBuffer (puerto de controlador de dominio de destino = TCP 389).
    • El controlador de dominio sigue enviando datos cifrados adicionales sobre muchas tramas TCP que tienen una longitud de carga TCP de 1460.
  2. Cuando haya identificado la conversación correcta en la traza de red presentan este comportamiento, puede filtrar en el puerto TCP que utiliza el cliente. En el ejemplo, la conversación se inicia desde el cliente a través del puerto TCP 65237. Un filtro de Monitor de red, como "tcp.port == 65237" podría utilizarse para aislar las tramas relacionados.
  3. Si copia todas las tramas en esta conversación y pegar en Microsoft Excel, verá que la copia del esquema agregado predeterminado tiene un tamaño de carga TCP de 2 megabytes (MB) de datos en el cable. El tamaño del archivo del esquema predeterminado de agregado es alrededor de 4 MB después de la codificación.

Correlacionar el tráfico de red al proceso del cliente

Puede utilizar el Monitor de sistema (Sysmon) para determinar el proceso en el cliente que inició esta conversación. ID. de suceso 3 se registra en el registro de eventos de la operación de Microsoft-Windows-Sysmon cuando Sysmon está instalado y configurado para conexiones LDAP de registro. Esto permite relacionar el tráfico de red a un proceso de cliente porque registra la dirección IP de origen y puerto junto con el nombre de imagen y ProcessID.


Nombre de registro: Microsoft-Windows-Sysmon/operacionales
Fuente: Microsoft-Windows-Sysmon
Fecha: Fecha
ID. de evento: 3
Categoría de tarea: Detectada la conexión de red de la (regla: redConectar)
Nivel: información
Palabras clave:
Usuario: sistema
Equipo: Equipo
Descripción:
Conexión de red detectado:
SequenceNumber: 206
UtcTime: UtcTime
ProcessGuid: {ProcessGuid}
ProcessId: 3220
Imagen: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Usuario: Nombre de usuario
Protocolo: tcp
Iniciado: true
SourceIsIpv6: false
SourceIp: SourceIp
SourceHostname: ADSIClient
PuertoDeOrigen: 65237
SourcePortName:
DestinationIsIpv6: false
DestinationIp: DestinationIp
DestinationHostname: DestinationHostname
DestinationPort: 389
DestinationPortName: ldap
Xml de evento:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider name="Microsoft-Windows-Sysmon" guid=""></Provider></System></Event>"{Nombre del proveedor}" />
<EventID>3</EventID>
<Version>4</Version>
<Level>4</Level>
<Task>3</Task>
<Opcode>0</Opcode>
<Keywords>0 x 8000000000000000</Keywords>
<TimeCreated SystemTime=" systemtime=""></TimeCreated SystemTime=">Hora" />
<EventRecordID>39</EventRecordID>
<Correlation></Correlation>
<Execution processid="1140" threadid="3492"></Execution>
<Channel>Microsoft-Windows-Sysmon/operacionales</Channel>
<>r &gt;Equipo
<Security UserID=" userid=""></Security UserID=">ID de usuario" />

<EventData>
<Data name="SequenceNumber">206</Data>
<Data name="UtcTime"></Data></EventData>Hora
<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>Usuario
<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>

Registro en el cliente de Process Monitor

Registro en el cliente de Process Monitor proporciona información contextual. Filtrar el registro del Monitor de procesos en el identificador del proceso que ha iniciado sesión en el caso de registrados por Sysmon.

La captura de pantalla filtra el registro de Monitor de procesos en el identificador del proceso iniciado en el caso de registrados por Sysmon

Encontrará las siguientes operaciones de interés.
OperaciónRuta de acceso
RegOpenKeyHKLM\SYSTEM\CurrentControlSet\Services\ADSI\Cache
RegQueryValueHKCU\Software\Microsoft\ADs\Providers\LDAP\CN = Aggregate, CN = Schema, CN = Configuration, DC =dominio secundario, DC =dominio raíz, DC = com\Time
Recepción de TCPNombre de host&gt;: puerto-> <DCName> </DCName>: LDAP
RegCreateKeyHKCU\SOFTWARE\Microsoft\ADs\Providers\LDAP\CN = Aggregate, CN = Schema, CN = Configuration, DC =dominio secundario, DC =dominio raíz, DC = com
WriteFileC:\Users\<username>\AppData\Local\Microsoft\Windows\SchCache\</username>dominio secundario.dominio raíz. com.sch
Nota: Es una forma de comprobar si los equipos basados en Windows están actualizando la copia local de la caché de esquema agregado inspeccionar los cambios en la marca de fecha del archivo *.sch en el sistema de archivos local del cliente ADSI.

Puede utilizar los datos en la tabla siguiente para refinar el filtro para registros de Process Monitor muy grandes.

Filtros opcionales adicionales:
ColumnaRelaciónValor
Ruta de accesoContieneSchCache
OperaciónEsWriteFile
La captura de pantalla es el proceso Monitor de filtro

Configuración de conexiones LDAP de registro Sysmon

  1. Descargar Sysmon en el cliente.
  2. Crear un nuevo archivo de texto para la configuración de Sysmon, guarde el archivo como Sysmonconfig.xml y agregue el siguiente contenido:

    <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. Ejecute el siguiente comando para instalar Sysmon:
    Sysmon -i sysmonconfig.xml

Efecto secundario de habilitar el indicador DRA_INHIBIT_BACKUP_AUTO_STAMP

Un efecto secundario de habilitar el indicador DRA_INHIBIT_BACKUP_AUTO_STAMP es ese evento que 2089 ID indica incorrectamente que la partición de esquema no se va a capturar en los bosques que están creando copias de seguridad de estado de sistema.

Ejemplo del evento 2089 de ID que se parece al siguiente se registra en el registro de aplicación:


Tipo de suceso: advertencia
Origen del suceso: Replicación de NTDS
Categoría del suceso: copia de seguridad
ID. de suceso: 2089
Fecha: fecha
Tiempo: hora
Usuario: nombre de usuario
Equipo: nombre de equipo
Descripción:

Esta partición de directorio no se ha hecho backup desde al menos el siguiente número de días.

Partición de directorio:

CN = schema, DC = partición de aplicaciones de dns de raíz de bosque

Nota: ID. de suceso 2089 no se registra como para otras particiones claves CN = Configuration o porque no hay ningún método para realizar copias de seguridad específico de la partición de particiones de directorio del dominio. Para obtener más información, consulte el siguiente artículo de Microsoft Knowledge Base:
914034 Se registra el evento 2089 de NTDS replicación si Windows Server 2003 SP1 y posteriores controladores de dominio no se copian en un período de tiempo

Advertencia: este artículo se tradujo automáticamente

Propriétés

ID d'article : 2789917 - Dernière mise à jour : 07/28/2015 15:52:00 - Révision : 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 KbMtes
Commentaires