Task Scheduler e Especificação de Disco Inválida da Unidade Mapeada

4

Eu 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 a partir da linha de comando, ele funciona perfeitamente.

Quando é executado a partir do 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).

    
por Eric J. 07.02.2012 / 02:16

2 respostas

4

Eu já vi esse comportamento antes ao tentar fazer backup em um NAS mapeado. Eu não sei porque, mas é necessário um "empurrãozinho" para lembrar que a unidade X: está mapeada para \ myserver \ myfolder.

Manualmente, isso pode ser resolvido acessando a pasta de destino. Uma vez que você "toca" X :, o Windows "lembra" está lá. Programaticamente (ou seja, do lote), você pode tentar acessar a pasta mapeada, ou talvez mesmo remapear (usando o comando net ) no lote, antes do comando XCopy.

    
por 07.02.2012 / 02:38
0

Esta 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 se Run with highest privileges for selecionado), em vez de um prompt elevado.

Configure the EnableLinkedConnections registry value. This value enables Windows Vista and Windows 7 to share network connections between the filtered access token and the full administrator access token for a member of the Administrators group. After you configure this registry value, LSA checks whether there is another access token that is associated with the current user session if a network resource is mapped to an access token. If LSA determines that there is a linked access token, it adds the network share to the linked location.

  1. Start regedit
  2. Locate and then right-click the registry subkey HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
  3. Point to New, and then click DWORD Value.
  4. Type EnableLinkedConnections, and then press ENTER.
  5. Right-click EnableLinkedConnections, and then click Modify.
  6. In the Value data box, type 1, and then click OK.
  7. Exit Registry Editor, and then restart the computer.

A referência é aqui .

    
por 20.01.2016 / 18:16