net useとcmdkeyの使い方|共有フォルダーの接続・削除・資格情報を保存する方法

Windows

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側に残っている接続や資格情報を確認するだけで解決することもあります。

コメント

タイトルとURLをコピーしました