トップ回答者
net use コマンドの仕様がXPからWindows7で変わったんでしょうか?

質問
-
手持ちのWindows7(ultimate)機(ActiveDirectoryに参加しておらずワークグループ)での現象を説明します。
以下のUNCパスは実在するとします。(1)
DOSプロンプトからnet use UNCパス
とし、問答で聞かれるまま、
ユーザ名、パスワード(ActiveDirectory上のもの)
を入力して認証し、ウインドウを立ち上げ当該UNCパスを開きます。
あるいは、最初にウインドウからUNCパスを指定し、問答で聞かれるまま、
ユーザ名、パスワード(ActiveDirectory上のもの)
として認証します。
(2)
ウインドウを開いた状態で、DOSプロンプトから、net use UNCパス /delete
とすると強制断するかどうか問答となるのでここでリターンを返します。
恐らく(Y/N)のNと解釈されるのだと思いますが、当然UNCパスは削除されず、ここでnet use
とするとUNCパスが残っているのが確認できます。
(3)
問題は次です。ここでもう1度net use UNCパス /delete
とすると、ウインドウを開いた状態でも、正常削除されてしまうのです。
同じことをXPでやっても削除されずに問答となります。Yを返さない限り何度やっても問答となり削除されません。
ちなみにWindows7では、上記のように削除すると、次にnet use UNCパス名
とした時には、ユーザ名やパスワードを聞かれずにそのまま成功してしまいます。
恐らく削除した時のユーザ名やパスワードで復活認証されるのだと思います(推測)。
要するに上記のような状態においては、あたかも、
ActiveDirectoryに参加したか、資格情報が設定されているかのような挙動となるのです。
以上は、XPからWindows7で仕様が変更されたのか、
それとも当方が気が付かない何か他の、当該Windows7機固有の条件が絡んでいるのか、判断がつかず首をひねっています。
実際のところどうなのでしょう?心当たりのある方宜しくお願いします。2012年1月27日 5:23
回答
-
接続中であると、その場では切られないようですね。これは、Windows XPでも同じ動きをします。
たとえば、エクスプローラで開きっぱなしにした状態で /deleteを実行しても、start \\マシン名 とかすると、開けたりします。SMB2からは結構非同期処理やキャッシュ処理が多くなっています。たとえば、XPですとNET USEコマンドで間違ったパスワードを入力した場合、即座にエラーがでますが、Windows 7ですと一旦「コマンドは正常に終了しました」と表示されたりします。そして、実際に接続しようとするとエラーがでます。
フォルダを全部閉じて、接続しているアプリケーションをすべて閉じると、ちょっと間をおいて接続できないようになるはずです。
このとき、net use \\接続解除したマシン名 とすると、同様に「コマンドは正常に終了しました」とでますが、アクセスはできないはずです。
start \\接続解除したマシン名 とするとエラーがでませんか?おっしゃる通り、特定ユーザーでログオンしたままの状態な共有マシンでは、接続が切れたことを確認してからの方が安全かもしれませんね。
#できれば、ログオンしたままの共有はやめたほうが良いと思いますが……「SMB の新機能」
http://technet.microsoft.com/ja-jp/library/ff625695(WS.10).aspx2012年1月27日 7:47 -
>比較に使ったXPはすぐ切れます。
ご回答いただいて、再度試したところ、XPはすぐに切れました。
失礼いたしました。Windows 7の方は、「コマンドは正常に終了しました」と出ますが、接続はできませんでした。
念のため、保存されてないかを確認してください。
「[ユーザー名およびパスワードの保存] の動作」
http://support.microsoft.com/kb/281660/jaWindows 7では、左ペインの「資格情報の管理」にあります。
面倒なら「rundll32 keymgr.dll,KRShowKeyMgr」でも[ユーザー名およびパスワードの保存] が起動します。2012年1月27日 9:58
すべての返信
-
その後別の条件でやってみたら、類似の現象が観測されました。
net use UNCパス
とし、聞かれるまま
ユーザ名、パスワード(ActiveDirectory上のもの)
で認証した後、
net use UNCパス /delete
とします。
net use
とするとちゃんと削除されています。
この状態で、上記UNCパスをウインドウで開くと、ユーザ名もパスワードも聞かれずに開けてしまいます。
恐らく最初のユーザ名とパスワードで認証されたものと思います。
これはもうActiveDirectoryに参加した状態と同じに見えますね。仕様なのでしょうか?
うちのパソコンが特殊な条件になってしまっているのでしょうか?
もし仕様なら、コンソールを共有して作業するような場合は、セキュリティ上気を付ける必要がありますけど。2012年1月27日 6:05 -
接続中であると、その場では切られないようですね。これは、Windows XPでも同じ動きをします。
たとえば、エクスプローラで開きっぱなしにした状態で /deleteを実行しても、start \\マシン名 とかすると、開けたりします。SMB2からは結構非同期処理やキャッシュ処理が多くなっています。たとえば、XPですとNET USEコマンドで間違ったパスワードを入力した場合、即座にエラーがでますが、Windows 7ですと一旦「コマンドは正常に終了しました」と表示されたりします。そして、実際に接続しようとするとエラーがでます。
フォルダを全部閉じて、接続しているアプリケーションをすべて閉じると、ちょっと間をおいて接続できないようになるはずです。
このとき、net use \\接続解除したマシン名 とすると、同様に「コマンドは正常に終了しました」とでますが、アクセスはできないはずです。
start \\接続解除したマシン名 とするとエラーがでませんか?おっしゃる通り、特定ユーザーでログオンしたままの状態な共有マシンでは、接続が切れたことを確認してからの方が安全かもしれませんね。
#できれば、ログオンしたままの共有はやめたほうが良いと思いますが……「SMB の新機能」
http://technet.microsoft.com/ja-jp/library/ff625695(WS.10).aspx2012年1月27日 7:47 -
ご回答ありがとうございます。
>接続中であると、その場では切られないようですね。これは、Windows XPでも同じ動きをします。
比較に使ったXPはすぐ切れます。
>このとき、net use \\接続解除したマシン名 とすると、同様に「コマンドは正常に終了しました」とでますが、アクセスはできないはずです。
>start \\接続解除したマシン名 とするとエラーがでませんか?出ずに繋がってしまいます。
しかし、以上のお話を伺って思ったのは、もしかしたら比較に使ったXPの方が特別な状態にあるのかもしれない、ということです。
とりあえずオフラインファイルを見たら、使えるようになっていました。
これは空振りでしたけど、でももしかしたらXPが特殊な状態かもしれませんね。2012年1月27日 9:29 -
>比較に使ったXPはすぐ切れます。
ご回答いただいて、再度試したところ、XPはすぐに切れました。
失礼いたしました。Windows 7の方は、「コマンドは正常に終了しました」と出ますが、接続はできませんでした。
念のため、保存されてないかを確認してください。
「[ユーザー名およびパスワードの保存] の動作」
http://support.microsoft.com/kb/281660/jaWindows 7では、左ペインの「資格情報の管理」にあります。
面倒なら「rundll32 keymgr.dll,KRShowKeyMgr」でも[ユーザー名およびパスワードの保存] が起動します。2012年1月27日 9:58 -
こんにちは。
フォーラム オペレーターの田中夢です。Chuki さん
参考になるアドバイスをいただきありがとうございます。お札の門 さん
その後の状況についてご報告いただきありがとうございます。今回のご質問につきましては、Chuki さんの投稿をトラブルシューティングの参考にしていただけたようですので、勝手ながら私のほうで [回答としてマーク] とさせていただきますね。
また何かありましたら TechNet フォーラムをご利用くださいね。
---------------------------------------------------------------------
日本マイクロソフト株式会社 フォーラム オペレーター 田中夢2012年2月10日 6:59