Windows 11でネットワーク ドライブを割り当てる: エクスプローラー、net use、PowerShell
By Mirko Peters ·
Windows 11でエクスプローラー、net use、PowerShellを使ってネットワーク ドライブを割り当てる方法を解説します。サインイン後も維持する方法、よくあるエラーの対処、多数のユーザーへの展開までを扱います。
Automatically translated with AI from the original post. Read the English original
Windows 11でネットワーク ドライブを割り当てるには、エクスプローラーを開き、この PC を選択して、三点の その他 メニューから ネットワーク ドライブの割り当て を選びます。空いているドライブ文字を選び、\\server\share のような共有へのパスを入力して、サインイン時に再接続 をオンにし、完了 を選択します。すると、その共有はローカル ディスクのように「この PC」に表示されます。この記事は、自分用または他のユーザー用にドライブを割り当てる IT 管理者とパワー ユーザーを対象としています。エクスプローラー、net use、PowerShell、遭遇しやすいエラー、そして手動での割り当てからグループ ポリシーに移行すべきタイミングを扱います。
重要なポイント
- エクスプローラーで「この PC」を選択し、三点のメニューを開いて「ネットワーク ドライブの割り当て」を選び、ドライブ文字を選択して \\\\server\\share のパスを入力し、「完了」を選択します。
- 「サインイン時に再接続」を選択すると、再起動のたびにドライブが戻ります。コマンド ラインで同等の設定は /persistent:yes です。
- net use はスクリプトで使う最も手早い方法です。パスワードをコマンドに直接入力する代わりにアスタリスクを使うと、履歴に残りません。
- New-PSDrive に -Persist -Scope Global を指定すると、エクスプローラーに表示されるドライブを作成できます。-Persist を付けない場合、そのドライブは現在の PowerShell セッションの中にしか存在しません。
- ドメイン環境では手動で割り当てないでください。グループ ポリシーの基本設定を使えば、ログオン スクリプトを使わずに、ユーザーのネットワーク ドライブを作成、更新、削除できます。
エクスプローラーでネットワーク ドライブを割り当てる
Windows でのネットワーク経由のファイル共有に関する Microsoft のページには、Windows 11 の手順が記載されています。
- タスクバーから エクスプローラー を開くか、Windows ロゴ キー + E を押します。
- 左ペインで この PC を選択します。
- リボンで その他(三点)を選択し、次に ネットワーク ドライブの割り当て を選択します。そのメニューに項目がない場合は、フォルダー ウィンドウの この PC を右クリックして、そこから選択してください。
- ドライブ の一覧から空いている文字を選択します。
- フォルダー ボックスに、フォルダーまたはコンピューターのパスを入力します。または 参照 を使って探します。ドライブをサインインのたびに戻したい場合は、サインイン時に再接続 を選択します。
- 完了 を選択します。
知っておくとよい点が 2 つあります。1 つ目は、パスがサブフォルダーを指すこともできることです。\\server\share\Invoices のように、共有のルートだけでなく特定のフォルダーも指定できます。チームが自分たちのプロジェクト フォルダーだけに直接アクセスし、他は見えないようにしたい場合に便利です。2 つ目は、Windows のダイアログには別のアカウントで接続するオプションもあることです。Microsoft のページではこのオプションについて触れていないため、お使いのビルドのダイアログで探し、確定する前に内容を確認してください。別のアカウントで割り当てる必要があるのは、ファイル サーバーが Windows へのサインイン情報を認識しない場合です。
共有がまったく表示されない場合、Microsoftの記事では家庭内や小規模オフィスのネットワークでよくある確認事項が挙げられています。すべてのPCでWindowsを更新すること、同じルーターに接続すること、Wi-Fiネットワークをプライベートに設定すること、そして詳細な共有設定でネットワーク探索とファイルとプリンターの共有を有効にすることです。また、ドライブやフォルダーに接続できない場合は、相手のコンピューターの電源が入っていないか、アクセス許可がない可能性があるとし、その場合はネットワーク管理者に相談するよう述べています。さらに、この家庭向けのシナリオではパスワード保護の共有をオフにすることも推奨しています。これはサインインの要件を取り除くことになるため、オフィスネットワークに同じ方法を適用する前に、自社のセキュリティ要件と照らし合わせて慎重に判断してください。
net use でネットワーク ドライブを割り当てる
ドライブの割り当てを頻繁に行う場合、共有をすばやく確認する場合、ログオン スクリプトを作成する場合には、コマンド ラインの方が適しています。Microsoft Learnにはnet useのドキュメントがありますが、そのページはドキュメントのアーカイブ部分にあります。
基本の形式では、共有にドライブ文字を割り当てます:
net use Z: \\server\share
共有内のフォルダーに割り当てる場合も同じ要領です: net use Z: \\server\share\Project。
よく使うパラメーターは次のとおりです:
/user:DOMAIN\usernameは別のアカウントで接続します。ドメインを省略すると、net useは現在サインインしているドメインを使用します。- パスワードの位置にアスタリスクを指定すると、Windowsがパスワードの入力を求めます。入力中のパスワードは表示されません。パスワードをコマンドに直接書くと、コマンド履歴やスクリプトに残ってしまうため、この方法が望ましいです。
/persistent:yesは接続を保存し、次回のサインイン時に復元します。/persistent:noは保存しません。Microsoftは、既定値は前回使われた設定であると注記しているため、スクリプトでは明示的に指定してください。/savecredは、入力した資格情報を再利用できるように保存します。/deleteは接続を解除します。ドライブ文字の代わりにアスタリスクを指定すると、すべてのネットワーク接続を解除します。
完全な例: net use Z: \\server\share /user:CONTOSO\jdoe * /persistent:yes。実行すると、Windowsがパスワードの入力を求めます。
パラメーターを指定せずに net use を実行すると現在のすべての接続が、net use Z: を実行すると特定の接続が表示されます。Microsoftはさらに、現在のドライブとして使用している共有や、アクティブなプロセスが使用している共有は切断できないことも指摘しています。切断に失敗する場合は、先にアプリを閉じ、コマンド ウィンドウでそのドライブ以外の場所に移動してください。
サーバー名にスペースが含まれる場合は、二重バックスラッシュから名前の末尾までを引用符で囲んでください。
PowerShell でネットワーク ドライブを割り当てる
PowerShellには2つの方法があります。New-PSDrive は、多くの管理者が慣れ親しんでいるコマンドレットです。MicrosoftのNew-PSDrive のドキュメントによると、-Persist を指定すると、Windowsに保存され、セッションに依存しない永続的なネットワーク ドライブが作成されます。-Persist を指定しないドライブは一時的なもので、その PowerShell セッション内にのみ存在します。エクスプローラーや net use には表示されません。
永続ドライブには次の規則があります。名前はドライブ文字である必要があり、ルートは別のコンピューターを指すUNCパスである必要があり、プロバイダーは FileSystem である必要があります。スクリプトで使用する場合は -Scope Global を追加してください。追加しないと、スクリプトの終了時にドライブも消えてしまいます。
New-PSDrive -Name S -PSProvider FileSystem -Root "\\Server01\Scripts" -Persist -Scope Global
別のアカウントを使用するには、Get-Credential の結果を -Credential で指定します。資格情報は、ルートがUNCパスの場合に使用されます。ドキュメントでは、ネットワーク ドライブに対して Remove-PSDrive を実行すると、そのコンピューターからマッピングが完全に削除される点にも注意を促しています。
2つ目の方法は、SmbShare モジュールの New-SmbMapping コマンドレットです: New-SmbMapping -LocalPath "X:" -RemotePath "\\Server\Share"。-Persistent と -SaveCredentials のスイッチがあります。-Password パラメーターは平文で扱われるため、スクリプトでは -Credential を使うか、ほかの方法を選び、パスワードをファイルに書き込まないようにしてください。
PowerShell のドキュメントにもあるとおり、マッピングしたドライブはユーザー アカウントごとに固有です。管理者として、または別のユーザーの資格情報で実行したセッションで作成されたドライブは、異なる資格情報で開始されたセッションからは表示されません。スクリプトを管理者として実行したところ、ユーザーに何も表示されない場合は、この原因が考えられます。
よくあるマッピング エラーの解決方法
失敗の多くは、いくつかのパターンに分類できます。
パスが間違っている。サーバー名や共有名の入力ミスは、アクセス許可の問題のように見えます。まず、エクスプローラーのアドレス バーで \\server\share を開いて確認してください。そこで開ければ、マッピングも成功するはずです。
アクセスが拒否される。Windows ファイル サーバーでは、共有のアクセス許可とフォルダーの NTFS アクセス許可という 2 つのアクセス許可レイヤーが適用されます。両方を確認してください。サブフォルダーをマッピングする場合は、上位の共有だけでなく、そのフォルダーへのアクセス権もアカウントに必要です。
資格情報が間違っている、または競合している。実際には、Windows はセッションごとに、サーバーに対する資格情報を 1 セットだけ保持します (これは一般的な Windows の知識に基づくもので、ここで紹介している Microsoft のページからの情報ではありません)。あるユーザーとしてサーバーに接続した後で別のアカウントを使おうとすると、エラー 1219 が発生することがあります。net use を実行して、接続中の状態を確認してください。古い接続は net use \\server\share /delete で削除するか、すべて削除する場合は net use /delete を実行します。そのあとで、正しいアカウントで再接続してください。Microsoft のトラブルシューティング ページで説明されているのは net use /delete の部分だけです。すべての共有を切断すると、開いているファイルが中断される可能性があるため、先にアプリを閉じてください。
再起動後にドライブが消える。マッピングが永続化されていない可能性があります。サインイン時に再接続するをオンにするか、/persistent:yes を指定して、もう一度マッピングしてください。ドライブに赤い X が付いて表示される場合、Windows はマッピングを保存しているものの、サインイン時にサーバーへ接続できなかったということです。ドライブを開いてください。ネットワークが利用可能になれば、再接続されるはずです。
マッピングしたドライブを切断する
エクスプローラーで この PC を開き、マッピングしたドライブを右クリックして 切断 を選択します。コマンド ラインからは net use Z: /delete を実行します。マッピングを削除しても、削除されるのはショートカットだけなので、サーバー上のファイルは消えません。ただし、特にファイルを開いている人がいる場合は、利用者に必ず伝えてください。
スクリプトやスケジュール タスクで、サインイン時にマッピングし直す
すべての PC がドメインに参加しているわけではありませんし、ユーザーがサインインする時点で、ノートPC が社内ネットワークに接続されているとも限りません。こうした場合は、小さなスクリプトが役立ちます。マッピング コマンドを .ps1 または .cmd ファイルに記述し、サインイン時に実行します。
ログオン タスクの書き方は、New-ScheduledTaskTrigger コマンレットのドキュメントに記載されています。-AtLogOn スイッチを指定すると、ユーザーがログオンしたときにタスクが開始されます。省略可能な -User パラメーターを指定すると、対象を 1 つのアカウントに限定できます。このコマンドレットのページには、ユーザー ID の受け付けられる形式が記載されていないため、ご自身の環境で検証してください。手順は次のとおりです。
- アクションを作成します:
$a = New-ScheduledTaskAction -Execute "powershell.exe" -Argument '-NoProfile -File "C:\Scripts\map.ps1"' - トリガーを作成します:
$t = New-ScheduledTaskTrigger -AtLogOn -User "CONTOSO\jsmith" - タスクを登録します:
Register-ScheduledTask -TaskName "MapDrives" -Action $a -Trigger $t
-User を省略すると、サインインするすべてのユーザーに対してタスクが実行されます。別のユーザー向けにタスクを登録する場合は、管理者として実行したセッションが必要になることがあります。
注意点が 2 つあります。PowerShell のドキュメントにあるとおり、ドライブは作成したユーザー セッションに属するため、タスクは SYSTEM ではなく、ドライブを必要とするユーザーとして実行する必要があります。また、ネットワークの準備が整う前に実行されたスクリプトは、エラーを表示せずに失敗します。そのため、うまくいったと決めつけず、最初のテスト サインインのあとでドライブが存在するかを確認してください。ドメイン環境では、次に紹介するグループ ポリシーの方法を優先してください。
多数のユーザーにドライブをマッピングする
手作業でのマッピングは規模が拡大できません。ドメイン環境では、グループ ポリシーの基本設定を使用します。Microsoft は、マップ ドライブの作成、変更、削除、およびすべてのドライブの表示設定を行う方法として「ドライブ マップ」拡張機能を挙げており、ログオン中のユーザーのセキュリティ コンテキストを使用して動作します。
ドライブマップの環境設定項目には、4つのアクションがあります。「作成」は新しいマッピングを作成し、「削除」は既存のマッピングを削除します。「置き換え」は削除してから作成し直し、「更新」は定義した設定のみを変更します。「更新」では、場所、再接続の設定、資格情報は変更できません。これらを変更する場合は「置き換え」を使用してください。場所は \\server\share のようなUNCパスで指定します。再接続の設定は永続的なマッピングに対応します。また、項目レベルのターゲティングを設定すると、必要なユーザーやグループにのみドライブが表示されるようにできます。
同じMicrosoftのページには、注意すべき点が2つ記載されています。ドライブマップ項目には、別のアカウントで接続するためのパスワードを保存できますが、そのパスワードは難読化された状態で、ドメインのすべてのユーザーが読み取れるファイルに保存されます。そのため、機密性の高いアカウントには使用しないでください。また、環境設定はグループポリシーの設定と異なり、ユーザーが変更できる既定値であり、次回のグループポリシーの更新時に設定値に戻ります。
エディションについて説明します。Microsoftの Windows 11 比較表では、ドメイン参加とグループポリシーは Windows 11 Pro と Windows Server の組み合わせに関連付けられており、Home については同様の記載はありません。Microsoftのページによると、上記のエクスプローラーによる方法はどのエディションでも同じように動作するため、Home のPCでも手動で、スクリプトで、またはタスクスケジューラを使ってドライブを割り当てることができます。ただし、管理対象のPCが多数ある環境では、この方法は適切ではありません。お使いの環境で Windows Server のポリシーが Windows 11 クライアントにどのように適用されるかを確認し、一括で一度だけ集中的に割り当ててください。
よくある間違い
- net use コマンドにパスワードを直接入力すること。アスタリスクを使うと、Windowsがパスワードの入力を求めます。
- -Persist を付けずに New-PSDrive を使用し、エクスプローラーにドライブが表示されない理由を疑問に思うこと。
- マッピングスクリプトを管理者として実行し、サインインしているユーザーにドライブが表示されると想定すること。
- 同じサーバーへの古い接続がまだ開いている状態で、別のアカウントを使ってマッピングすること。先に古い接続を削除してください。
- グループポリシーの環境設定で「更新」を使って場所を変更すること。「置き換え」を使用してください。
- 各チームに必要なのは自分たちのフォルダーだけなのに、全員を共有のルートにマッピングすること。
関連して確認しておきたいトピック
- 自分のPCのフォルダーを共有するにはどうすればよいですか? エクスプローラーでフォルダーを右クリックし、「その他のオプションを表示」、「アクセスを許可する」、「特定のユーザー」の順に選択します。Microsoftは、ネットワークドライブのマッピングと同じページでこの手順を説明しています。
- 応答しなくなったドライブを解除するにはどうすればよいですか?
net use * /deleteを実行してから、再度マッピングしてください。 - サインイン時のマッピングを自動化するにはどうすればよいですか? ドメインユーザーには、グループポリシーの環境設定を使用します。それ以外のユーザーには、
net useを含むログオンスクリプトを使用します。 - SharePointやOneDriveのライブラリについてはどうですか? これは別のトピックであり、この記事ではUNCパスでアクセスするファイル共有のみを扱います。
次のステップ
エクスプローラーを開き、サインイン時に再接続するにチェックを入れた状態で共有フォルダーを1つマッピングし、net use に表示されることを確認してください。1人分で動作を確認できたら、同じマッピングをグループポリシーの環境設定として記述してください。そうすれば、次の10人のユーザーのためにWindows 11でネットワークドライブを手作業で割り当てる必要がなくなります。