プロが教える店舗&オフィスのセキュリティ対策術

windowsXP/2000 で LAN上の他のwindowsマシンにSMBでログインするときにユーザーID と パスワード を求めらるダイアログが出現しますが、
これで一度ログインしたあと、もう一度このダイアログを出現させる方法はないでしょうか。

なにかいい方法をご存知の方いらっしゃいましたら教えていただけると幸いです。



■現状わかっているログアウト手段として
・スタートメニュー->シャットダウンメニューからの
 ログオフ/再起動


■やりたいこと:
エクスプローラのアドレスバーで
"\\example-windows" と入力

ユーザー認証ダイアログ出現

ID: user1
PASS: pass1

でログイン

再び "\\example-windows"
すると認証ダイアログは出ずにuser1でログインしてしまう

※別なユーザでアクセスするために一度ログアウトする

再び "\\example-windows"
認証ダイアログ出現

ID: user2
PASS: pass2

でログイン

A 回答 (1件)

プログラム作成環境はありますか?


VisualC++、VisualBasic等あれば、作成可能です。
Microsoftが提供していますPlatformSDKの中に、
WNetCancelConnection2()
という関数があります。
この関数で、確率中のネットワーク接続を切断する事ができます。
上の例ですと、
WNetCancelConnection2("\\example-windows", CONNECT_UPDATE_PROFILE, TRUE)
といった形になるのではないかと思います。

VBでのサンプルプログラムがありましたので、参考にしてみてください。
[Visual BasicでネットワークAPIを使用する]
http://www.galliver.co.jp/writing/vbm_tokushu/ap …

参考URL:http://www.galliver.co.jp/writing/vbm_tokushu/ap …
    • good
    • 0
この回答へのお礼

※mpr.lib をリンク
//---------------------------------------
retn = WNetCancelConnection2("\\\\example-windows", CONNECT_UPDATE_PROFILE, TRUE);
if( retn == NO_ERROR )
{
MessageBox(hWnd, "切断に成功!", "接続の切断", MB_OK);
}else{
MessageBox(hWnd, "切断に失敗!", "接続の切断", MB_OK);
}
//---------------------------------------

また、WNetCancelConnection2 についてググっている過程で別のやり方も見つけました。

・コマンドラインで
/* 1つのサーバからログアウトする場合 */
net use \\example-windows /delete

/* 全てのコネクションを破棄する場合 */
net use * /delete


どうもありがとうございました!

お礼日時:2005/02/22 16:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!