none
net use コマンドの仕様がXPからWindows7で変わったんでしょうか? RRS feed

  • 質問

  •   手持ちの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).aspx

     


    • 編集済み ChukiMVP 2012年1月27日 7:48
    • 回答としてマーク 田中夢 2012年2月10日 7:00
    2012年1月27日 7:47
  • >比較に使ったXPはすぐ切れます。

    ご回答いただいて、再度試したところ、XPはすぐに切れました。
    失礼いたしました。

    Windows 7の方は、「コマンドは正常に終了しました」と出ますが、接続はできませんでした。

    念のため、保存されてないかを確認してください。

    「[ユーザー名およびパスワードの保存] の動作」
    http://support.microsoft.com/kb/281660/ja

    Windows 7では、左ペインの「資格情報の管理」にあります。
    面倒なら「rundll32 keymgr.dll,KRShowKeyMgr」でも[ユーザー名およびパスワードの保存] が起動します。

    • 編集済み ChukiMVP 2012年1月27日 10:02 Windows 7用の起動方法を追加
    • 回答としてマーク 田中夢 2012年2月10日 7:00
    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).aspx

     


    • 編集済み ChukiMVP 2012年1月27日 7:48
    • 回答としてマーク 田中夢 2012年2月10日 7:00
    2012年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/ja

    Windows 7では、左ペインの「資格情報の管理」にあります。
    面倒なら「rundll32 keymgr.dll,KRShowKeyMgr」でも[ユーザー名およびパスワードの保存] が起動します。

    • 編集済み ChukiMVP 2012年1月27日 10:02 Windows 7用の起動方法を追加
    • 回答としてマーク 田中夢 2012年2月10日 7:00
    2012年1月27日 9:58
  • 資格情報はXpでもWindows7でも使っていません。空です。
    またネットワークドライブも設定していません。

    ただWindows7の方はオフラインファイルの設定が無効になっていました。
    どこにあるのか分からなかったのでデフォルト有効だと思っていましたが、
    調べたら同期センターにあるんですね。
    今後これを有効化するとどうなるか実験しようと思います。
    今日はこれから用があるので月曜以降になりますが。

    色々アドバイスありがとうございました。

    2012年1月27日 10:28
  • こんにちは。
    フォーラム オペレーターの田中夢です。

    Chuki さん
    参考になるアドバイスをいただきありがとうございます。

    お札の門 さん
    その後の状況についてご報告いただきありがとうございます。

    今回のご質問につきましては、Chuki さんの投稿をトラブルシューティングの参考にしていただけたようですので、勝手ながら私のほうで [回答としてマーク] とさせていただきますね。


    また何かありましたら TechNet フォーラムをご利用くださいね。
    ---------------------------------------------------------------------
    日本マイクロソフト株式会社 フォーラム オペレーター 田中夢

    2012年2月10日 6:59