スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--.--.-- | スポンサー広告

WMIプログラムC++編-2補足

ブログを書いている時間がないorz

もっと気軽にブログを書くべきか(´・ω・`)



WMIプログラムC++編-2補足

えーと前回思いっきり間違っている部分がありました。

IWbemLocator::ConnectServer の6番目のパラメータの指定ですが
当然

_bstr_t(L"ntlmdomain:domain")

なわけがなく、

_bstr_t(L"ntlmdomain:任意のドメイン名")

でしたorz


後これも補足ですが
Windows2000 における COM のセキュリティの設定は

::CoInitializeSecurity(NULL, -1, NULL, NULL,
RPC_C_AUTHN_LEVEL_DEFAULT,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL, EOAC_NONE, NULL);

ではダメです。
(何故ダメなのかは……なぜに Windows2000 だけ?)

MSDN によると SOLE_AUTHENTICATION_LIST 構造体を使用して
セキュリティを設定してあげる必要があるようです。

// Auth Identity structure
SEC_WINNT_AUTH_IDENTITY_W auth_identity;
SOLE_AUTHENTICATION_INFO auth_info[2];
::SecureZeroMemory(&auth_identity, sizeof(auth_identity));

auth_identity.User = L"ユーザー名";
auth_identity.UserLength = wcslen(auth_identity.User);
auth_identity.Domain = L"ドメイン名";
auth_identity.DomainLength = wcslen(auth_identity.Domain);
auth_identity.Password = L"パスワード";
auth_identity.PasswordLength = wcslen(auth_identity.Password);
auth_identity.Flags = SEC_WINNT_AUTH_IDENTITY_UNICODE;

::SecureZeroMemory(auth_info, sizeof(SOLE_AUTHENTICATION_INFO)*2);

// NTLM Settings
auth_info[0].dwAuthnSvc = RPC_C_AUTHN_WINNT;
auth_info[0].dwAuthzSvc = RPC_C_AUTHZ_NONE;
auth_info[0].pAuthInfo = &auth_identity;

// Kerberos Settings
auth_info[1].dwAuthnSvc = RPC_C_AUTHN_GSS_KERBEROS ;
auth_info[1].dwAuthzSvc = RPC_C_AUTHZ_NONE;
auth_info[1].pAuthInfo = &auth_identity;

SOLE_AUTHENTICATION_LIST auth_list;

auth_list.cAuthInfo = 2;
auth_list.aAuthInfo = auth_info;

::CoInitializeSecurity(NULL, -1, NULL, NULL,
RPC_C_AUTHN_LEVEL_CALL,
RPC_C_IMP_LEVEL_IMPERSONATE,
&auth_list, EOAC_NONE, NULL);

なお前回のプログラムは権限の設定等を特にしていないので
クライアントなどから起動して使用するには
EXEファイルをSHIFT+右クリック→「別のユーザーとして実行...」などで
ネットワークアドミニストレータ権限で実行しないと
リモートの PC にたいして接続はできますが、
プロパティの値の取得はできませんm(_ _)m

今回は以上^^;
次回はがんばって WMI for C++ にてEXEファイルを実行する方法を
紹介したいと思います。

テーマ:プログラミング - ジャンル:コンピュータ

2005.10.27 | Comments(0) | Trackback(0) | プログラム

コメント

コメントの投稿


秘密にする

«  | HOME |  »

ブロとも申請フォーム

この人とブロともになる

カウンター


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。