高い WAN およびドメイン コント ローラー システム状態のバックアップを実行すると CPU 使用率

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:2789917

この資料では、Active Directory ドメイン コント ローラーがシステム状態のバックアップが推移的に集計スキーマをダウンロードするクライアントを Active Directory サービス インターフェイス (ADSI) を原因となる参照属性を更新する方法について説明します。このダウンロード プロセスは、可能性のあるドメイン コント ローラーの役割を持つコンピューターとネットワークの負荷を増加します。
現象
次の問題は、Active Directory フォレスト内の任意のドメイン コント ローラーでスキーマ パーティションのシステム状態のバックアップを実行するときに発生します。
  • 属性を Windows ベースのコンピューターのクエリの参照 Active Directory とドメイン コント ローラーの役割コンピューターの CPU 使用率の向上は、次の目的で使用されます。
    • 集計スキーマへの更新を検出するには
    • 変更の場合、ドメイン コント ローラーから集計スキーマをコピーするには、が検出されました。
  • ADSI クライアントがドメイン コント ローラーから集計スキーマの内容をコピーするときは、ネットワーク上のライトウェイト ディレクトリ アクセス プロトコル (LDAP) トラフィックを増加します。
原因
スキーマ名前付けコンテキスト (スキーマ NC) に、 DSA 署名の属性が更新されるため、この問題が発生する Windows Server 2003 Service Pack 1 (SP1) またはそれ以降のバージョンを実行しているドメイン コント ローラーのシステム状態のバックアップを実行するとします。

システム状態のバックアップで、 DSA 署名の属性が更新されると、2 つの参照属性に日付のスタンプが更新されます。スキーマ NC ヘッドでは、上にあるこれらの属性の 1 つと他の上にある、 CN = 集計、CN = スキーマオブジェクトです。

ADSI アプリケーションおよびスクリプトを実行している Windows クライアントでは、集計スキーマへの更新を検出するためにこれらの参照の属性を照会します。このような更新プログラムを検出すると、ADSI クライアントは LDAP 読み取りを通してドメイン コント ローラーから集計スキーマの更新されたコピーをダウンロードします。

LDAP クエリ、およびネットワーク I/O に関連する集計スキーマの検出の詳細については、「関連情報」セクションを参照してください。
回避策
問題を回避するサーバー側とクライアント側の回避策を減らすことがないの ADSI クライアントが集約スキーマをダウンロードする回数を排除することによって部分的な救済を提供します。個別にクライアント側とサーバー側の回避策を実装する可能性があります。つまり、同時にクライアント側の回避策のみ、サーバー側の変更、または両方の回避策を実装できます。

サーバー側の回避策



DSA 署名の編集

サーバー側の回避策は、スキーマ パーティションのシステム状態のバックアップが、DSA 署名の属性を更新するを防ぐので構成されます。DSA 署名の属性には、システム状態のバックアップがこの属性を更新するかどうかを判断するのにはDRA_INHIBIT_BACKUP_AUTO_STAMPフラグが含まれています。ただし、 DSA 署名の属性で大規模な形式のバイナリであるため、これは変更できません簡単に LDP などのツールを使用しています。EXE または ADSIEDIT。MSC。

この問題を回避するには、Windows PowerShell スクリプト、またはシステム状態のバックアップがスキーマ パーティションに、 DSA 署名の属性を更新することを防止する実行可能ファイルを実行し、さらに、スキーマ NC ヘッドでwhenChanged属性とwhenModified属性の上、 CN = 集計オブジェクトです。

参照してください、 DSASignature 属性を編集します。 Microsoft スクリプト センターのサイトで PowerShell スクリプトです。

コンパイルでき、 DSA 署名の属性スキーマ NC のDRA_INHIBIT_BACKUP_AUTO_STAMPフラグを設定または、次のサンプル コードを実行できます。

PowerShell またはプログラムの修正プログラムが使用するかどうかに関係なく、 DRA_INHIBIT_BACKUP_AUTO_STAMPフラグを有効にすると負の副作用があります。この副作用は、「関連情報」セクションに記載されていますいます。

注: <b>このサンプル コードは、ドメイン コント ローラーでスキーマ管理セキュリティ コンテキストで実行してください。

定義が最新であることを確認します。

最後に、必ず thatIPv4 を確認し、IPv6 サブネット、サイト、およびサブネットとサイトの定義が最新で、Active Directory フォレスト内と、すべてのフォレストで、企業内のすべてのサブネットに対応します。動いてコンピューターでクエリを実行する ADSI アプリケーションを実行すると、この操作を行うと、集計スキーマの更新されたバージョンのコピーがサイトに最適なドメイン コント ローラーからこれを行います。サイトの設定を構成する方法の詳細については、次のマイクロソフト TechNet web サイトを参照してください。

サンプル コード

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

プログラムの出力の例

サンプル プログラムの出力を次に示します。
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!

クライアント側の回避策

ドメイン コント ローラーの選択を最適化します。

いくつかのアプリケーションに明示的に特定のドメイン コント ローラーに接続し、このドメイン コント ローラーから更新されたスキーマ キャッシュをダウンロードします。ただし、アプリケーション通常のままにある LDAP 名前付けコンテキストに対して最適なドメイン コント ローラーを検索するドメイン コント ローラー ロケーターにします。クライアントでは、低速ネットワーク接続経由でドメイン コント ローラーをターゲットにするためにスキーマ キャッシュを更新中に顕著な遅延が発生します。これは、フォレスト境界間で発生する可能性があります。目標は、ネットワークの観点から最も近いドメイン コント ローラーからスキーマ キャッシュをダウンロードするのには常にあります。

回避策

クライアント側の回避策では、集計スキーマのあたり・ マシン ・ ベースのストアを使用するには、Windows Vista、Windows Server 2008 では、またはそれ以降のバージョンを実行しているコンピューターを構成するので構成されています。

Windows XP ベースのコンピューターでは、集計スキーマ キャッシュは、コンピューターごとのストアを使用します。つまり、集計スキーマのダウンロードが、ローカル コンピューターにログオンしたすべてのユーザー間で共有されていずれかのユーザーは、管理者権限を持っている限り、ファイル システムやレジストリのローカル ストアは、認証されたユーザーに付与された書き込みのアクセス許可を必要です。それ以外の場合、スキーマ キャッシュは各 ADSI セッション中にメモリにダウンロードする必要があるし、ADSI のセッションが終了した後に破棄されました。

ADSI スキーマ キャッシュは、Windows Vista とそれ以降のバージョンでは、ユーザーごとのストアに実装されます。ユーザーごとのキャッシュを使用してセキュリティが向上し、リモート デスクトップ プロトコル (RDP) またはターミナル サーバーのAQキオスク、またはその他のマルチ ユーザー システムにログオンする個々 のユーザーでは、ADSI スキーマ キャッシュをダウンロードするのには同じコンピューター場合があります。

フォールバックを強制するには 1 の値に HKLM\SYSTEM\CurrentControlSet\Services\ADSI\Cache のレジストリ パスのレジストリ DWORD #e412 を設定することによって Windows Vista およびそれ以降のバージョンを実行しているコンピューターのコンピューターのストアの構成にします。さらに、認証されたユーザーに %systemroot%\SchCache と HKLM\Software\Microsoft\ADs\Providers\LDAP に書き込みアクセス権を与える必要があります。詳細については、 ADSI とユーザー アカウント制御.

"ごと"のマシン ストアを使用しては、ユーザーがログオフするときにユーザーの移動プロファイルが削除される場合に特に便利です。このようなユーザーは、新しいプロファイルを作成する必要があるし、集計スキーマをダウンロードする必要があります。移動プロファイルの削除が発生する特定のシナリオを以下に示します。
  • 固定ユーザー プロファイルを使用してログオンするよう構成されているユーザーです。
  • [ユーザー プロファイルのシステムの起動時に指定した日数より古いを削除する] ポリシーが適用されているユーザーです。
  • 「移動プロファイルのキャッシュされたコピーを削除する」ポリシーが適用されているユーザーです。
  • ユーザーがスクリプトまたは DELPROF などのツールによってキャッシュされたプロファイルが削除されました。EXE または同等の。
詳細

ADSI についての情報

ADSI クライアントは、コンポーネント オブジェクト モデル (COM) に準拠しているために Active Directory にアクセスするプログラムの実装です。

ADSI アプリケーションおよびスクリプトを実行している Windows ベースのコンピューターでは、集計の Active Directory スキーマのローカル コピーを維持します。すべての ADSI クライアント セッションの最初に、変更の参照のスキーマ属性をチェックします。Active Directory 内の属性を明示的には、Active Directory スキーマのすべての可能な変更を一意に識別するものはない、ためには、プロキシの属性を使用して Windows ベースのコンピューターはクライアントのそれぞれのドメインでドメイン コント ローラーからネットワーク経由で集約スキーマの更新されたコピーをコピーする必要があるときに判断します。ADSI アプリケーションの例を以下に示します。
  • Active Directory 管理センター Microsoft 管理コンソール (MMC) スナップイン
  • Active Directory ドメインと信頼関係 MMC スナップイン
  • Active Directory サイトとサービス MMC スナップイン
  • Active Directory ユーザーとコンピューター MMC スナップイン
  • ADSI 編集 MMC スナップイン
  • DHCP MMC スナップイン
  • DNS マネージャー MMC スナップイン
  • Exchange 管理コンソール
  • グループ ポリシー管理 MMC スナップイン
  • Squery.exe

集計スキーマへの変更を検出するために使用される属性

次の表は、Windows のバージョンごとに集計のスキーマの変更を検出するために使用される属性の概要を示します。

ADSI クライアント オペレーティング システムのバージョンADSI スキーマ キャッシュのダウンロードの条件
Windows XP
Windows Server 2003
Windows Server 2003 R2
Windows Vista または Windows Server 2008
Windows 7 と Windows Server 2008 R2
集計スキーマ オブジェクトのmodifyTimeStamp属性の更新
Windows 8/Windows Server 2012
Windows 8.1/Windows Server 2012 R2
WhenChangedスキーマの属性の更新
これらのプロキシの属性のいずれかの変更が検出された場合、ADSI クライアントは、集計スキーマの新しいコピーをダウンロードします。

Windows 8 または Windows Server 2012 より前のオペレーティング システムを実行しているコンピューターでは、集計のスキーマにmodifyTimeStamp属性を照会します。ModifyTimeStampが更新され、Active Directory サービスの再起動によって、ドメイン コント ローラーを再起動するか、Active Directory サービスを再開する適正なスキーマ変更が発生していない場合は、ドメイン コント ローラーから集計スキーマ キャッシュをダウンロードするのにはいくつかの ADSI クライアントの原因となった。これが小さい問題の早期の段階で、Active Directory が Windows Server 2008 で再起動可能なサービスになったため。

Windows 8 の、Windows Server 2012 では、またはそれ以降のバージョンを実行しているコンピューターでは、スキーマ NC ヘッドでwhenChanged属性を照会します。WhenChanged属性には、システム状態のバックアップは、 DSA 署名の属性、スキーマ名前付けコンテキストを更新するときに更新されるという副作用があります。スキーマ NC ヘッドのwhenChanged属性のタイムスタンプに更新します。

ドメイン コント ローラーに集約スキーマ プロキシの属性を更新するイベント

次の表では、オペレーティング システムのバージョンと属性の更新をトリガーする操作によって更新される参照の属性の概要を示します。

ドメイン コント ローラー オペレーティング システムのバージョンModifyTimeStamp 集約スキーマの属性の更新のための条件WhenChanged スキーマの属性の更新のための条件
Windows Server 2003
Windows Server 2003 R2
Windows サーバー 2008
Windows Server 2008 R2
ドメイン コント ローラーまたは NT ディレクトリ サービス (NTDS) を開始します。 スキーマの拡張機能と、システム状態のバックアップ
KB で、Windows Server 2008 R2 2671874
Windows Server 2012
Windows Server 2012 R2
スキーマの拡張機能と、システム状態のバックアップスキーマの拡張機能と、システム状態のバックアップ
変更が検出された場合、ADSI スキーマ キャッシュをダウンロードするがします。システム状態のバックアップでは、スキーマ名前付けコンテキスト、スキーマの更新されたwhenChangedタイム ・ スタンプが発生するのDSA 署名の属性にデータを書き込みます。

ADSI クライアントによって集約スキーマ キャッシュの更新を検出します。

高い cpu 使用率とネットワーク使用率を検出するを使用します ネットワーク モニターの 3.4 ネットワークの使用状況をキャプチャし、次の手順を実行結果を分析するツール。
  1. ツールで、Windows オペレーティング システムに応じて、次の表示フィルターのいずれかを使用します。

    注: <b>これらのフィルターで文字列を置換してください"CN = スキーマ、CN = 構成、DC = Contoso, DC = com"Active Directory スキーマ名前付けコンテキストの問題の識別名 (DN) パスを使用して。
    Windows 7 および以前のクライアント
    キャプチャされたネットワーク トラフィックの集約スキーマ オブジェクトのmodifyTimeStamp属性の値を照会するのには、次のディスプレイ フィルターを使用します。
    (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 およびそれ以降のクライアント

    WhenChangedスキーマ NC ヘッドをキャプチャされたネットワーク トラフィックの属性値を照会するのにには、次のディスプレイ フィルターを使用します。
    (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")
    既定では、この値しますは次のキーでクライアントのレジストリに時刻の値。

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

    ModifyTimeStampまたはwhenChangedの属性には、レジストリに格納されている値より後の場合、クライアントは、更新されたスキーマ キャッシュをダウンロードします。(この属性は、クライアントのオペレーティング システムに依存します)。

    ツールのサンプルのスクリーン ショットを次に示します。

    このスクリーン ショットは、例を modifyTimeStamp または whenChanged の属性には、レジストリに格納されている値よりも後で

    スクリーン ・ ショットから次のように確認できます。
    • ADSI クライアントは、フレーム名の 8 のドメイン コント ローラーにバインドします。
    • スキーマ変更されたプロキシ属性の LDAP 検索は、次のバインドを初期の LDAPSASLBuffer フレームのいずれかに格納されます。
    • LDAPSASLBuffer フレームのいくつかの LDAP トラフィックが暗号化されます (ターゲット ドメイン コント ローラーでポート = TCP 389)。
    • ドメイン コント ローラーは、1460年の TCP ペイロードの長さを持つ多くの TCP フレームの上の他の暗号化されたデータを送信し続けます。
  2. 正しい会話を特定した後は、ネットワーク トレースでは、この現象が発生することが、クライアントを使用している TCP ポートをフィルター処理できます。例では、会話は、TCP ポート 65237 経由でクライアントから開始されます。など、ネットワーク モニターのフィルター「tcp.port = = 65237"を使用して関連するフレームを特定します。
  3. 会話し Microsoft Excel に貼り付け、この内のすべてのフレームをコピーする場合は既定の集計スキーマのコピーがワイヤの TCP ペイロードのサイズは 2 mb のデータを持っているを参照してください。既定の集計スキーマのファイルのサイズは、エンコード後約 4 MB です。

クライアント側のプロセスへのネットワーク トラフィックを関連づけること。

システム モニター (Sysmon) を使用すると、この会話を開始したクライアント上のプロセスを決定します。システム モニターがインストールされ、LDAP 接続のログを構成するときに、マイクロソフトの Windows のシステム モニターの操作イベント ログにイベント ID 3 が記録されます。これは、送信元 ip アドレスとポートは、プロセス Id とイメージ名とログに記録するため、ネットワーク トラフィックをクライアント側のプロセスに関連することができます。


ログ名: マイクロソフトの Windows のシステム モニターと運用
ソース: マイクロソフトの Windows-システム モニター
日付: 日付
イベント ID: 3
タスク カテゴリ: ネットワークの接続が検出されました (ルール: ネットワーク)
レベル: 情報
キーワード:
ユーザー: システム
コンピューター: コンピューター
説明:
ネットワークの接続が検出されました。
シーケンス番号: 206
UtcTime。 UtcTime
ProcessGuid: {ProcessGuid}
プロセス Id: 3220
イメージ: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
ユーザー: ユーザー名
プロトコル: tcp
開始: true
SourceIsIpv6: false
SourceIp。 SourceIp
SourceHostname: ADSIClient
SourcePort: 65237
SourcePortName。
DestinationIsIpv6: false
DestinationIp。 DestinationIp
DestinationHostname。 DestinationHostname
DestinationPort: 389
DestinationPortName: ldap
イベントの Xml:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider name="Microsoft-Windows-Sysmon" guid=""></Provider></System></Event>"{プロバイダー名}" />
<EventID>3</EventID>
<Version>4</Version>
<Level>4</Level>
<Task>3</Task>
<Opcode>0</Opcode>
<Keywords>0x8000000000000000</Keywords>
<TimeCreated SystemTime=" systemtime=""></TimeCreated SystemTime=">時刻" />
<EventRecordID>39</EventRecordID>
<Correlation></Correlation>
<Execution processid="1140" threadid="3492"></Execution>
<Channel>マイクロソフトの Windows のシステム モニターと運用</Channel>
<>r >コンピューター
<Security UserID=" userid=""></Security UserID=">ユーザー Id" />

<EventData>
<Data name="SequenceNumber">206</Data>
<Data name="UtcTime"></Data></EventData>時刻
<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>ユーザー
<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>

クライアント ログオン プロセスの監視

クライアント ログオン プロセスのモニターでは、豊富なコンテキスト情報を提供します。システム モニターによって記録されたイベント ログに記録されるプロセス ID のプロセスのモニターのログをフィルター処理します。

スクリーン ショットは、システム モニターによって記録されたイベントがログに記録するプロセス ID のプロセスのモニターのログをフィルター処理します。

目的の次の操作が表示されます。
操作Path
RegOpenKeyHKLM\SYSTEM\CurrentControlSet\Services\ADSI\Cache
RegQueryValueHKCU\Software\Microsoft\ADs\Providers\LDAP\CN = 集計、CN = スキーマ、CN = 構成、DC =子ドメイン、DC =ルート ドメイン、DC = com\Time
TCP 受信します。ホスト名>: ポート-> <DCName> </DCName>: LDAP
RegCreateKeyHKCU\SOFTWARE\Microsoft\ADs\Providers\LDAP\CN = 集計、CN = スキーマ、CN = 構成、DC =子ドメイン、DC =ルート ドメイン、DC = com
WriteFileC:\Users\<username>\AppData\Local\Microsoft\Windows\SchCache\</username>子ドメイン.ルート ドメイン。 com.sch
注: <b>Windows ベースのコンピューターは、集計スキーマ キャッシュのローカル コピーを更新するかどうかを確認する方法の 1 つでは、ADSI クライアントのローカル ファイル システム内の *.sch ファイルの日付スタンプの変化を監視します。

次の表にデータを使用するには非常に大規模なプロセスのモニターのログ、フィルターを変更します。

省略可能なフィルターを追加します。
関係
Path含まれていますSchCache
操作します。WriteFile
スクリーン ショットは、プロセス モニター フィルターです。

LDAP 接続のログをシステム モニターを構成します。

  1. ダウンロード システム モニター クライアントです。
  2. システム モニターの構成の新しいテキスト ファイルを作成、Sysmonconfig.xml、としてファイルを保存し、次の内容を追加します。

    <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. システム モニターをインストールするのには次のコマンドを実行します。
    システム モニターには sysmonconfig.xml

DRA_INHIBIT_BACKUP_AUTO_STAMP フラグを有効にすることの副次的な影響

DRA_INHIBIT_BACKUP_AUTO_STAMPフラグを有効にする 1 つの副作用とは、イベント ID 2089 が表示されます、スキーマ パーティションはないキャプチャ中であるシステム状態のバックアップを作成するフォレスト内です。

アプリケーション ログに次のようなサンプルのイベント ID 2089 が記録されます。


イベントの種類: 警告
イベント ソース: NTDS 複製
イベント カテゴリ: バックアップ
イベント ID: 2089年
日付: 日付
時刻: 時
ユーザー: ユーザー名
コンピューター: コンピューター名
説明:

このディレクトリ パーティションがバックアップされていないために最低限次の日数です。

ディレクトリ パーティション:

CN = スキーマ、DC = フォレスト ルートの dns アプリケーション パーティション

注: <b>イベント ID 2089 がログインしていない他のキーのパーティションに次のようにCN = 構成またはドメイン ディレクトリ パーティションの特定のパーティションのバックアップを実行するメソッドがないためです。詳細については、次のマイクロソフト サポート技術情報資料を参照してください。
914034 Windows Server 2003 SP1 およびそれ以降のドメイン コント ローラーがバックアップされない場合、一定の期間では、NTDS 複製イベントの 2089年が記録されます。

警告: この記事は自動翻訳されています

プロパティ

文書番号:2789917 - 最終更新日: 07/29/2015 21:12:00 - リビジョン: 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 KbMtja
フィードバック