マップされたネットワーク ドライブは、ネットワーク ドライブで再接続Windows 10 Version 1809

この記事では、マップされたネットワーク ドライブがネットワーク ドライブで再接続に失敗する可能性がある問題の回避策をWindows 10 Version 1809。

適用対象:  Windows 10 Version 1809
元の KB 番号:   4471218

現象

次の問題が発生Windows 10 Version 1809。

  • エクスプローラー Windows、マップされたネットワーク ドライブに赤い X が表示されます。
  • コマンド プロンプトでコマンドを実行 すると、マップ されたネットワーク ドライブは net use 使用不可として表示されます。
  • 通知領域で、通知に次のメッセージが表示されます。

    すべてのネットワーク ドライブを再接続できない。

回避策

Microsoft は解決策に取り組み、2018 年 11 月末までにソリューションを利用できると見積もっています。 1809 Update History KB Windows 10で、マップされたドライブのトピック4464619。 現在、この問題を回避するには、スクリプトを実行して、デバイスにログオンするときにマップされたネットワーク ドライブを自動的に再接続します。 これを行うには、2 つのスクリプト ファイルを作成し、必要に応じて回避策のいずれかを使用します。

MapDrives.cmd という名前のスクリプト ファイルを作成する

ファイルは、エクスプローラーと同じ特権で実行する必要があるため、ファイルは通常のコマンド プロンプトで実行する必要がありますが、管理者特権で実行Windows必要があります。

PowerShell -Command "Set-ExecutionPolicy -Scope CurrentUser Unrestricted" >> "%TEMP%\StartupLog.txt" 2>&1
PowerShell -File "%SystemDrive%\Scripts\MapDrives.ps1" >> "%TEMP%\StartupLog.txt" 2>&1

"スクリプト ファイル" という名前のスクリプト ファイルをMapDrives.ps1

ファイルは、エクスプローラーと同じ特権で実行する必要があるため、ファイルは通常のコマンド プロンプトで実行する必要がありますが、管理者特権で実行Windows必要があります。

$i=3
while($True){
    $error.clear()
    $MappedDrives = Get-SmbMapping |where -property Status -Value Unavailable -EQ | select LocalPath,RemotePath
    foreach( $MappedDrive in $MappedDrives)
    {
        try {
            New-SmbMapping -LocalPath $MappedDrive.LocalPath -RemotePath $MappedDrive.RemotePath -Persistent $True
        } catch {
            Write-Host "There was an error mapping $MappedDrive.RemotePath to $MappedDrive.LocalPath"
        }
    }
    $i = $i - 1
    if($error.Count -eq 0 -Or $i -eq 0) {break}

    Start-Sleep -Seconds 30
}

回避策

すべての回避策は、標準のユーザー セキュリティ コンテキストで実行する必要があります。 管理者特権のセキュリティ コンテキストでスクリプトを実行すると、マップされたドライバーが標準のユーザー コンテキストで使用できません。

回避策 1: スタートアップ アイテムを作成する

注意

この回避策は、ログオン時にネットワーク アクセス権を持つデバイスでのみ機能します。 デバイスがログオン時にネットワーク接続を確立していない場合、スタートアップ スクリプトはネットワーク ドライブを自動的に再接続されません。

  1. スクリプト ファイル (MapDrives.cmd) を次の場所にコピーします。
    %ProgramData% \ Microsoft Windows スタート メニュー \ \ \ プログラム \ の起動
  2. スクリプト ファイル (MapDrives.ps1) を次の場所にコピーします。
    %SystemDrive% \ スクリプト\
  3. ログ ファイル (StartupLog.txt) が %TEMP% フォルダーに作成 \ されます。
  4. ログオフし、デバイスにログオンし、マップされたドライブを開きます。

回避策 2: スケジュールされたタスクを作成する

  1. スクリプト ファイルを次MapDrives.ps1にコピーします。
    %SystemDrive% \ スクリプト\
  2. [タスク スケジューラ] で、[アクション作成 タスク > ] を選択します
  3. [タスク の作成] ダイアログ ボックスの [ 全般 ] タブで、タスクの名前 (ネットワーク ドライブの マップなど) と説明を入力します。
  4. [ ユーザーまたはグループの変更] を選択し、ローカル ユーザーまたはグループ (LocalComputer \ Users など) を選択し 、[OK] を選択します
  5. [トリガー ] タブで、[新規] を選択し、[タスクの開始] フィールドの [ログオン****時] を選択 します。
  6. [アクション ] タブで 、[ 新規] を選択し、[アクション] フィールドの [プログラムの開始 ] を選択 します。
  7. [Powershell.exe/ スクリプト]フィールドに「名前」と入力 します。
  8. [引数 の追加 (オプション)] フィールド に、次の値を入力します。
    -windowsstyle hidden -command . \MapDrives.ps1 >> %TEMP%StartupLog.txt \ 2>&1
  9. [開始] (オプション) フィールド に、スクリプト ファイルの場所 (%SystemDrive% \ Scripts \) を入力します。
  10. [条件 ] タブで、[次のネットワーク接続が使用可能な場合にのみ開始する]オプションを選択し、[任意の接続] を選択し 、[OK] を選択します
  11. ログオフし、デバイスにログオンし、スケジュールされたタスクを実行します。