WindowsからNASやファイルサーバーの共有フォルダーへ接続するとき、
「別のユーザーで接続したいのに、以前のユーザーで接続される」
「共有フォルダーへの接続を削除したはずなのに、資格情報が残っている」
「ユーザー名とパスワードを保存しておきたい」
ということがあります。
このようなときに役立つのが、
net use
と、
cmdkey
です。
似たような用途に見えますが、役割が違います。
簡単に言えば、
net use → ネットワーク共有への接続を管理
cmdkey → Windowsに保存されている資格情報を管理
するコマンドです。
今回は、共有フォルダーへ接続できない場合の切り分けも含めて、net useとcmdkeyの使い方を紹介します。
net useとは?
net useは、Windowsからネットワーク上の共有フォルダーなどへの接続を管理するコマンドです。
コマンドプロンプトを開いて、
net use
を実行すると、現在の接続状況を確認できます。
例えば、
ステータス ローカル名 リモート名 ネットワーク名
-------------------------------------------------------------------------------
OK \\192.168.1.100\IPC$ Microsoft Windows Network
コマンドは正常に終了しました。
のように表示されます。
この例では、
\\192.168.1.100\IPC$
への接続が残っています。
IPC$とは?
共有フォルダーへ接続しているつもりがなくても、
\\192.168.1.100\IPC$
という接続が表示されることがあります。
IPC$はWindowsのネットワーク通信などで利用される特殊な共有です。
エクスプローラー上では共有フォルダーを開いていなくても、サーバーとの接続が残っていることがあります。
この状態で同じサーバーへ別のユーザー名を使って接続しようとすると、うまく接続できない場合があります。
そのため、
「別ユーザーで接続したいのに接続できない」
という場合は、まずnet useを確認してみます。
net useで接続を削除する
不要な接続が残っている場合は削除できます。
例えば、
\\192.168.1.100\IPC$
を削除する場合は、
net use \\192.168.1.100\IPC$ /delete
を実行します。
確認メッセージが表示された場合は、内容を確認して削除します。
共有フォルダーへの接続なら、
net use \\192.168.1.100\share /delete
のように指定できます。
すべてのnet use接続を削除する
現在のネットワーク接続をすべて削除する方法もあります。
net use * /delete
です。
ただし、このコマンドは現在接続しているネットワーク共有をまとめて切断します。
業務中のPCなどで実行すると、使用中のファイルサーバーやネットワークドライブまで切断してしまう可能性があります。
そのため、基本的には、
net use
で確認してから、必要な接続だけ削除することをおすすめします。
net useでユーザー名を指定して接続する
共有フォルダーへユーザー名を指定して接続する場合は、
net use \\192.168.1.100\share /user:username *
のように実行します。
*を指定すると、パスワードの入力を求められます。
\\192.168.1.100\share のパスワードまたはユーザー名が無効です。
'username' のパスワードを入力してください:
パスワードをコマンドラインに直接書かなくてよいので、この方法の方が安全です。
ドメインユーザーを指定する場合
Active Directoryなどのドメインユーザーなら、
net use \\192.168.1.100\share /user:DOMAIN\username *
のように指定できます。
ローカルアカウントを使う場合は、接続先に応じたユーザー名を指定します。
環境によっては、
net use \\server\share /user:server\username *
のようにサーバー名を付ける必要があります。
ネットワークドライブとして割り当てる
共有フォルダーをZドライブとして割り当てるなら、
net use Z: \\192.168.1.100\share /user:username *
とします。
確認すると、
net use
に、
OK Z: \\192.168.1.100\share
などと表示されます。
削除するときは、
net use Z: /delete
です。
再ログオン後もネットワークドライブを使いたい
ネットワークドライブへの接続を再ログオン後も使用する場合は、
net use Z: \\192.168.1.100\share /persistent:yes
と指定できます。
逆に、接続を保存しない場合は、
net use Z: \\192.168.1.100\share /persistent:no
です。
ただし、ここで注意したいのが、
/persistent:yesと「パスワードを保存する」は同じ意味ではない
という点です。
net useはネットワーク接続を管理するコマンドです。
Windowsに保存されている資格情報を確認・管理したい場合は、次に紹介するcmdkeyを使用します。
cmdkeyとは?
cmdkeyはWindowsに保存されているユーザー名やパスワードなどの資格情報を管理するコマンドです。
Windowsには「資格情報マネージャー」があります。
GUIから、
コントロール パネル
↓
資格情報マネージャー
↓
Windows資格情報
と開いて確認することもできますが、コマンドから確認することもできます。
それが、
cmdkey
です。
保存されている資格情報を確認する
まず、
cmdkey /list
を実行します。
すると、Windowsに保存されている資格情報が表示されます。
例えば、
現在保存されている資格情報:
ターゲット: Domain:target=192.168.1.100
種類: ドメイン パスワード
ユーザー: username
のような情報が表示されます。
共有フォルダーへの接続がおかしい場合、
net use
だけではなく、
cmdkey /list
も確認してみるのがポイントです。
cmdkeyで古い資格情報を削除する
古いユーザー名やパスワードが保存されている場合は削除できます。
例えば、
cmdkey /delete:192.168.1.100
のように指定します。
ただし、/delete:に指定する文字列は、環境によって異なる場合があります。
そのため、いきなり削除コマンドを実行するのではなく、
cmdkey /list
で実際のターゲット名を確認してから削除するのがおすすめです。
cmdkeyで資格情報を登録する
資格情報を登録することもできます。
例えば、
cmdkey /add:192.168.1.100 /user:username /pass
と実行すると、パスワードの入力を求められます。
入力したパスワードは画面には表示されません。
その後、
cmdkey /list
で登録されたことを確認します。
共有フォルダーへアクセスするときに、この保存された資格情報が利用できる場合があります。
パスワードをコマンドに直接書くこともできるが注意
次のようにパスワードを直接指定することもできます。
cmdkey /add:192.168.1.100 /user:username /pass:password
ただし、この方法ではコマンドライン上にパスワードがそのまま表示されます。
バッチファイルなどに記述すれば、ファイルを見た人にもパスワードが分かってしまいます。
そのため、特別な理由がなければ、
cmdkey /add:192.168.1.100 /user:username /pass
として、対話形式で入力する方が安全です。
net useとcmdkeyの違い
ここが一番分かりにくいところです。
簡単に整理すると、
| コマンド | 主な役割 |
|---|---|
net use | ネットワーク共有への接続を管理 |
net use /delete | 接続を切断 |
net use /persistent:yes | 接続を再ログオン時にも復元する設定 |
cmdkey /list | 保存されている資格情報を確認 |
cmdkey /delete | 保存された資格情報を削除 |
cmdkey /add | 資格情報を登録 |
つまり、
接続を確認する → net use
資格情報を確認する → cmdkey
と覚えると分かりやすいと思います。
「net useを削除したのに別ユーザーで接続できない」とき
実際のトラブル対応で重要なのがここです。
例えば、
net use
で接続を確認し、
net use \\192.168.1.100\IPC$ /delete
で削除したとします。
それでも別のユーザーで接続できない場合があります。
この場合は、
cmdkey /list
も確認します。
古い資格情報が残っていたら、
cmdkey /delete:192.168.1.100
などで削除します。
そのうえで、再度、
net use \\192.168.1.100\share /user:username *
として接続します。
私ならこの順番で確認する
共有フォルダーの資格情報がおかしい場合、私は次の順番で確認します。
まず現在の接続を確認します。
net use
不要な接続があれば削除します。
net use \\192.168.1.100\IPC$ /delete
次に保存済み資格情報を確認します。
cmdkey /list
古い資格情報が残っていたら、表示されたターゲット名を確認して削除します。
cmdkey /delete:192.168.1.100
そして、新しいユーザーで接続します。
net use \\192.168.1.100\share /user:username *
このように、
① net useで接続確認
↓
② 古い接続を削除
↓
③ cmdkeyで資格情報確認
↓
④ 古い資格情報を削除
↓
⑤ 正しいユーザーで再接続
と切り分けると分かりやすくなります。
「同じユーザーによる、サーバーまたは共有リソースへの複数の接続」はなぜ出る?
別ユーザーで共有フォルダーへ接続しようとしたとき、
同じユーザーによる、サーバーまたは共有リソースへの複数の接続は、
複数のユーザー名を使って行うことはできません。
といったエラーが出ることがあります。
これは、同じサーバーに対して既存のSMB接続が残っている場合などに発生します。
例えば、
\\192.168.1.100\IPC$
へユーザーAで接続した状態で、
\\192.168.1.100\share
へユーザーBで接続しようとすると、問題になる場合があります。
この場合も、
net use
で既存の接続を確認することが重要です。
PCを再起動する前に確認できる
共有フォルダーへ接続できなくなると、
「とりあえずWindowsを再起動」
してしまいがちです。
もちろん再起動で接続状態が整理されて直るケースもあります。
しかし業務中のPCでは、毎回再起動できるとは限りません。
そんなとき、
net use
と、
cmdkey /list
を確認すれば、ネットワーク接続と保存された資格情報を切り分けて調査できます。
共有フォルダーの認証トラブルでは覚えておくと便利なコマンドです。
SMB1の古いNASやSambaへ接続できない場合
ここまでの方法で資格情報を整理しても、古いNASやSambaサーバーへ接続できない場合があります。
その場合は資格情報ではなく、
SMBのバージョン
が原因かもしれません。
古いNASやSambaではSMB1しか利用できない場合があります。
Windows 11ではSMB1が標準で無効になっている環境があるため、必要に応じてSMBの対応状況を確認します。
SMB1を有効にする方法や注意点については、別記事で詳しく解説しています。
→ Windows 11でSMB1を有効にする方法|古いNAS・Sambaに接続できないときの対処
なお、SMB1は古いプロトコルでセキュリティ上のリスクがあります。
可能であれば、NASやSambaサーバー側をSMB2/SMB3へ移行することをおすすめします。
まとめ
Windowsの共有フォルダーへ接続できない場合、net useだけを確認して終わりにしてしまうことがあります。
しかしWindowsでは、
現在のネットワーク接続
と、
保存されている資格情報
は分けて考えた方がトラブルを切り分けやすくなります。
現在の接続は、
net use
保存されている資格情報は、
cmdkey /list
で確認できます。
別ユーザーで接続できない場合は、
net use
↓
既存接続を削除
↓
cmdkey /list
↓
古い資格情報を削除
↓
正しいユーザーで再接続
という順番で確認してみてください。
共有フォルダーへ接続できないからといって、必ずしもサーバーやネットワーク側に問題があるとは限りません。
Windows側に残っている接続や資格情報を確認するだけで解決することもあります。



コメント