Especificação de disco inválido do agendador de tarefas e da unidade mapeada

Especificação de disco inválido do agendador de tarefas e da unidade mapeada

Tenho uma tarefa no Agendador de Tarefas para executar um arquivo em lote que reside em um disco rígido local.

O arquivo em lote simplesmente executa o XCopy para copiar arquivos de uma unidade mapeada para uma pasta na unidade local.

Quando o arquivo em lote é executado na linha de comando, ele funciona perfeitamente.

Quando é executado no Agendador de Tarefas, o comando XCopy exibe o erro:

Invalid drive specification

Se for importante, a unidade é um NAS e é mapeada para o computador usando credenciais locais do NAS (não há diretório ativo na rede).

Responder1

Já vi esse comportamento antes ao tentar fazer backup em um NAS mapeado. Não sei por que, mas é preciso um "empurrãozinho" para lembrar que a unidade X: está mapeada para \myserver\myfolder.

Manualmente, isso pode ser resolvido acessando a pasta de destino. Depois que você "toca" em X:, o Windows "lembra" que ele está lá. Programaticamente (ou seja, em lote), você pode tentar acessar a pasta mapeada ou talvez até mesmo remapeá-la (usando o netcomando) no lote, antes do comando XCopy.

Responder2

Essa resposta chega muito tarde, mas encontrei outra maneira de contornar o problema. Parece ser causado por um contexto diferente ao executar a partir de uma tarefa agendada (mesmo que Run with highest privilegesesteja selecionada), e não a partir de um prompt elevado.

Configure o EnableLinkedConnectionsvalor do registro. Este valor permite Windows Vista and Windows 7compartilhar conexões de rede entre o token de acesso filtrado e o token de acesso completo do administrador para um membro do grupo Administradores. Depois de configurar esse valor de registro, o LSA verifica se há outro token de acesso associado à sessão do usuário atual se um recurso de rede estiver mapeado para um token de acesso. Se o LSA determinar que existe um token de acesso vinculado, ele adicionará o compartilhamento de rede ao local vinculado.

  1. Começarregedit
  2. Localize e clique com o botão direito na subchave do registroHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
  3. Aponte para Novo e clique em Valor DWORD.
  4. TipoEnableLinkedConnectionse pressione ENTER.
  5. Clique com o botão direitoEnableLinkedConnectionse clique em Modificar.
  6. Na caixa Dados do valor, digite 1 e clique em OK.
  7. Saia do Editor do Registro e, em seguida,reinicie o computador.

A referência éaqui.

informação relacionada