Powershell e ferramentas externas de longa duração?

1

Estou tentando compactar um banco de dados do MS-Access usando o JetComp.exe usando um script powershell.

Aqui estão as linhas operativas:

# 4. Run JetComp
LogWrite("Begin: Running JetComp")
.\JETCOMP.EXE -src: $srcDB -dest: $dstDB | Out-Null  #Run this command and wait for it to finish...
IfErrorExit("Error Compacting Database")
LogWrite("End: Running JetComp")

O programa JETCOMP.EXE parece ser concluído muito antes de ser concluído e o $ dstDB ser menor do que o compacto deve fazê-lo. Inicialmente ($ srcDB) é cerca de 1,8 GB e no momento em que o comando termina é cerca de 300.000 kb (cerca de 0,29 gb) que é muito longe de 1,8 gb, que quando compactado manualmente acaba sendo cerca de 1,6 gb

Existe algum tempo limite que não conheço nos scripts do PowerShell?

P.S. Eu sei que, ao executar o JETCOMP.EXE manualmente, o sistema detecta com frequência que ele "não está respondendo", embora esteja realmente realizando o trabalho, e esperar o tempo suficiente permitirá que ele seja concluído.

    
por leeand00 21.08.2012 / 06:09

1 resposta

2

Esse número é suspeitamente próximo de 2x o limite de memória do 150MB Remote Powershell. Se isso realmente for seu problema, é possível que o JETCOMP não esteja obtendo RAM suficiente para fazer o que precisa fazer e está falhando silenciosamente. Se você estiver executando isso através do remote-PS, você pode verificar os limites desta forma:

Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB

E para configurá-los:

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1024
    
por 12.11.2012 / 04:09