0

ここでの Windows プログラミングは初めてで、Windows Server 2008 で失敗する Windows Server 2003 用に作成されたコードを見ています。

コードは基本的に次のことを行います。

LookupPrivilageValue(NULL, _T("SeAuditPrivelage"), &luidSeAudit)); を呼び出します。LUID 構造体を取得します。

すべての API 呼び出しのリターン コードをチェックして、問題が発生していないことを確認します。

次に、TOKEN_PRIVELAGES を調整します。

OpenProcessToken(...);
TOKEN_PRIVILEGES tp;
tp.PrivilegeCount = 1;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
tp.Privileges[0].Luid = luidSeAudit;

AjustTokenPrivelages(tokenHandle, FALSE, &tp, 0, NULL, NULL);
CloseHandle(tokenHandle);


GetModuleFileName(NULL, pBuf, 260);
strPath = pBuf;
iRet = strPath.ReverseFind('\\');
strPath = strPath.Left(iRet);
CString strName = strPath;
strName += _T("\\");
strName += _T("MyTool.exe");
_tcscpy_s(pBuf, 260, strName);

AUTHZ_SOURCE_SCHEMA_REGISTRATION ar;
memset(&ar, 0, sizeof(ar));
ar.dwFlags = AUTHZ_ALLOW_MULTIPLE_SOURCE_INSTANCES;
ar.szEventSourceName = _T("MySim");
ar.szEventMessageFile = pBuf;
ar.szEventSourceXmlSchemaFile = NULL;
ar.szEventAccessStringsFile = pBuf;
ar.szExecutableImagePath = NULL;

それから私は電話します

AuthzInstallSecurityEventSource(0, &ar);  

ここでもエラーはありません。

ただし、私が呼び出すと:

if (!AuthzRegisterSecurityEventSource(0, _T("MySim"), &m_secEvProv)) {
    ....GetLastError()...;
    return Error;
}

m_secEvProv のタイプは AUTHZ_SECURITY_EVENT_PROVIDER_HANDLE であることに注意してください。

エラー 1314 が表示されます。

ERROR_PRIVILEGE_NOT_HELD 1314 (0x522) 必要な権限がクライアントによって保持されていません。

そのためには、2008 年にそのような特権を取得するには、さらにどのような手順を踏む必要がありますか?

ありがとうございました

4

1 に答える 1

0

私の質問のほとんどに答えるという精神で、これはさらに別の例です。

2008 では、グループ ポリシー管理コンポーネントで行う必要があることがいくつかあります。

次の手順を実行します。

[スタート] -> [管理ツール] -> [グループ ポリシーの管理]

フォレストを開く->ドメイン->->ドメインコントローラー

エントリを右クリックし、[編集] を選択します

ここに画像の説明を入力

これにより、別のウィンドウが開きます。 ここに画像の説明を入力

[コンピューターの構成] -> [ポリシー] -> [Windows の設定] -> [セキュリティの設定] -> [ローカル ポリシー] に移動します。

次に、画像に示すように監査ポリシーを編集するか、少なくとも監査オブジェクト アクセスを変更し、3 つのチェック ボックスすべてにチェックを入れます。[OK] ボタンをクリックしてダイアログ ボックスを閉じます。

その下にはユーザー権利の割り当てがあります。それをクリックしてから、[ポリシー: セキュリティ監査の生成] をクリックします。

ここに画像の説明を入力

ドメインとユーザー名を追加します。私の場合は UIDDEV\Administrator です。これは、私のプログラムが実行されるユーザーになります。出来上がり!セキュリティ ログを変更するためのアクセス権があります。

ここに画像の説明を入力

于 2013-08-14T21:35:55.710 に答える