2015年4月6日月曜日

net use でシステムエラー 1219

net use z: \\hogehoge\jenkins のようにネットワークドライブを割り当てて Jenkins のジョブから参照してたりするんですが、これがたまに以下のようなエラーで失敗することがありました。

システム エラー 1219 が発生しました。

同じユーザーによる、サーバーまたは共有リソースへの複数のユーザー名での複数の接続は許可されません。サーバーまたは共有リソースへの以前の接続をすべて切断してから、再試行してください。

いつもは一度ログオフして再接続してましたが、コマンドだけで解決できたので備忘録として残しておきます。

状況
誰かが接続した状態になっているため接続できないようですが、net use コマンドで接続を確認してもそれらしいものは出ず… 試しにエクスプローラーでネットワークにアクセスしたら認証なしにフォルダが開けたので、どうやらログイン状態であるのは確かなようでした。

ググってみたところ、以下の記事が見つかりました。

みんな忘れてしまうんだ: [windows]ファイル共有を別ユーザーでログインする方法。(ネットワークフォルダの切断について)

こちらに書いてありますが、Windows 2000 以降ではエクスプローラーで接続したネットワークフォルダは net コマンドでは切断できないようです。

解決方法
上記のブログでは hosts ファイル編集して複数接続可能にしていましたが、もっと簡単に解決できます。

解決方法:
net use \\hogehoge\jenkins
net use \\hogehoge\jenkins /delete

net use /delete が net コマンドで接続したものしか切断できないのであれば、
net use で該当のネットワークに接続してから、切断すれば良いのです。

この方法がすべての環境でうまくいくかはわかりませんが、筆者環境ではうまくいきました。

今回は以上です。

2 件のコメント:

  1. こんにちは。初めまして、記事内でリンクされているブログの主です。
    この方法は思いつきませんでした。
    めっちゃスマートですね。
    リンク先の記事に誘導リンク追記しときます。

    返信削除
    返信
    1. はじめまして。
      そちらのブログでどういう状況が詳しく書かれてたので、それがとっても参考になりました。
      リンクもありがとうございますm(__)m

      削除