A unidade de rede mapeada pode não se reconectar no Windows 10, versão 1809

Este artigo fornece uma solução alternativa para o problema de que a unidade de rede mapeada pode não se reconectar em Windows 10, versão 1809.

Aplica-se a: Windows 10, versão 1809
Número de KB original: 4471218

Sintomas

Você enfrenta os seguintes problemas no Windows 10, versão 1809:

  • No Windows Explorer, um X vermelho aparece nas unidades de rede mapeadas.
  • As unidades de rede mapeadas são exibidas como Indisponíveis quando você executa o net use comando em um prompt de comando.
  • Na área de notificação, uma notificação exibe a seguinte mensagem:

    Não foi possível reconectar todas as unidades de rede.

Solução alternativa

A Microsoft está trabalhando em uma resolução e estima que uma solução estará disponível até o final de novembro de 2018. Monitore o tópico da unidade mapeada no Windows 10 4464619 de KB de Histórico de Atualizações do Windows 10 1809. Atualmente, você pode contornar esse problema executando scripts para reconectar automaticamente a unidade de rede mapeada ao fazer logon no dispositivo. Para fazer isso, crie dois arquivos de script e use uma das soluções alternativas, conforme apropriado.

Criar um arquivo de script chamado MapDrives.cmd

O arquivo deve ser executado em um prompt de comando regular, mas não em um prompt de comando elevado porque ele deve ser executado com o mesmo privilégio que o Windows Explorer:

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

Criar um arquivo de script chamado MapDrives.ps1

O arquivo deve ser executado em um prompt de comando regular, mas não em um prompt de comando elevado porque ele deve ser executado com o mesmo privilégio que o Windows Explorer:

$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
}

Soluções alternativas

Todas as soluções alternativas devem ser executadas no contexto padrão de segurança do usuário. A execução de scripts em um contexto de segurança elevado impedirá que unidades mapeadas fiquem disponíveis no contexto padrão do usuário.

Solução alternativa 1: criar um item de inicialização

Observação

Essa solução alternativa funciona apenas para o dispositivo que tem acesso à rede no logon. Se o dispositivo não tiver estabelecido uma conexão de rede até o momento do logon, o script de inicialização não reconectará automaticamente as unidades de rede.

  1. Copie o arquivo de script (MapDrives.cmd) para o seguinte local:
    %ProgramData%\Microsoft\Windows\Iniciar Menu\Programas\StartUp
  2. Copie o arquivo de script (MapDrives.ps1) para o seguinte local:
    %SystemDrive%\Scripts\
  3. Um arquivo de log (StartupLog.txt) será criado na pasta %TEMP%\.
  4. Faça logon e faça logon novamente no dispositivo para abrir as unidades mapeadas.

Solução alternativa 2: criar uma tarefa agendada

Observação

Uma janela do PowerShell pisca para cima quando a tarefa agendada é executada.

  1. Copie o arquivo de script MapDrives.ps1 para o seguinte local:
    %SystemDrive%\Scripts\
  2. No Agendador de Tarefas, selecione Ação>Criar Tarefa.
  3. Na guia Geral na caixa de diálogo Criar Tarefa , digite um nome (como Map Network Drives) e descrição para a tarefa.
  4. Selecione Alterar Usuário ou Grupo, selecione um usuário ou grupo local (como LocalComputer\Users) e selecione OK.
  5. Na guia Gatilhos , selecione Novo e, em seguida, selecione Em logon para o campo Iniciar a tarefa .
  6. Na guia Ações , selecione Novo e, em seguida, selecione Iniciar um programa para o campo Ação .
  7. Digite Powershell.exe para o campo Programa/script .
  8. No campo Adicionar argumentos (opcional), digite o seguinte:
    -windowstyle hidden -command .\MapDrives.ps1 >> %TEMP%\StartupLog.txt 2>&1
  9. No campo Iniciar no (opcional), digite o local (%SystemDrive%\Scripts\) do arquivo de script.
  10. Na guia Condições , selecione Iniciar somente se a seguinte conexão de rede estiver disponível , selecione Qualquer conexão e selecione OK.
  11. Faça logon e faça logon novamente no dispositivo para executar a tarefa agendada.