Como forçar o uso de cscript.exe de 64 bits?

0

Estou tentando implantar e executar um vbscript publicado pela Microsoft (offscrub10.vbs) com o objetivo de remover todos os rastreamentos do Office 2010 de um sistema. Quando eu envio o script para um sistema de 64 bits, o cscript de 32 bits está sendo chamado para executá-lo. Isso está causando falha no script ao tentar validar as permissões do registro.

Eu mesmo posso replicar o erro ao tentar executar manualmente o script a partir do sistema ou da conta de administrador local e explicitamente chamando o cscript de 32 bits; por outro lado, se eu simplesmente executar "cscript" por si só, a versão de 64 bits é capturada e o script funciona bem. Eu também tenho registros ProcMon que mostram o cscript de 64 bits sendo chamado na linha de comando, mas tem a versão de 32 bits listada no caminho para o processo executável.

Como faço para contornar isso? Obviamente, há alguma lógica no script que não gosta de ser executada em 32 bits em um PC de 64 bits, mas esse é um script da Microsoft e não quero mexer nele e quebrar outra coisa.

Estou usando o KACE para implantação, o que parece ser o problema porque o agente local é um processo de 32 bits. Configurei o script de implantação para chamar explicitamente o script de 64 bits, agrupei-o em um arquivo de lote, um script do PowerShell e tentei chamar o cmd.exe de 64 bits para executar o cscript, mas o cmd.exe é padronizado para 32 bits e estamos de volta à prancheta.

Obviamente, o lugar ideal para consertar isso seria no próprio vbscript ou no kbox, e também estou trabalhando no ângulo do KACE, mas estou tentando cobrir todas as minhas bases aqui.

    
por Brad McCuller 09.01.2015 / 16:24

1 resposta

0

Acho que o problema que você está enfrentando é devido ao fato de o Windows de 64 bits ter um recurso para processos de 32 bits chamado redirecionamento de pasta. Isso faz com que o caminho passe de% windir% \ system32 para% windir% \ sysWOW64

Há uma solução alternativa, mas faz um tempo desde que eu usei. No caminho completo para chamar o cscript, use isto:

% WinDir% \ Sysnative

Isso deve permitir que o processo KACE de 32 bits acesse os arquivos dentro do diretório system32 (cscript neste caso).

Um pouco mais de informação aqui:

link

Espero que funcione para você.

    
por 09.01.2015 / 16:47