Ola Kelsen,
Isso ocorre porque quando você executa o script, a instância do PowerShell é encerrado, com isso o "bkp.ps1" também, isso ira ocorre também se clicar com o botão direito no Script e manda executar com o powershell, a única razão de funcionar no
ISE ou no Prompt do PowerShell é que a instância não é encerrada.
Nesse caso se você adicionar "-Noexit" na linha de comando irá funcionar, entretanto, irá ficar uma instancia aberta em background, se o scritp for executado mais de uma vez, vários processos do powershell irá ficar
parado, ate reiniciar a maquina ou matar os processos.
Uma alternativa é acrescentar "Start-sleep -Seconds" com o tempo aproximado que você ache que ira efetuar a compactação depois do "$ZipFile.CopyHere($Dest) ", sendo assim o script fica pausado.
opção 1:
powershell -sta -noProfile -NonInteractive -Noexit -nologo -command " & Chr(34) & "c:\bkp.ps1" & Chr(34
Opção 2
$ZipFile = (new-object -com shell.application).NameSpace($ZipFileName)
Write-Output (">> Waiting Compression : " + $ZipFileName)
$ZipFile.CopyHere($Dest)
Start-sleep -Seconds 60
Write-Output (">> Fimn : " + $ZipFileName) FileName)
att, Aparecido Deveza