Desidero essere in grado di eseguire il remote remoto in un sistema e comprimere o decomprimere i file e ricevere il segnale di processo quando è completo. Il processo di avvio funziona con il parametro -wait per eseguire 7z.exe in modo sincrono da PowerShell. Quando provo a combinarlo con invoke-command per eseguire lo stesso comando da remoto, non onora il parametro wait e credo che stia uccidendo il processo poiché ritorna rapidamente e non produce mai un file zip.zippare in remoto i file con PowerShell start-process e invoke-command
[string]$sevenZip = "C:\Program Files\7-zip\7z.exe"
[Array]$arguments = "a", $zipFilename, $dirToZip;
"Starting $sevenZip with $arguments"
Start-Process $sevenZip "$arguments" -Wait
#blocks and waits for zip file to complete
ho inizialmente provato la PSCX write-zip & espandere-archivio, ma quest'ultimo non è compatibile con 64 bit di .NET 4.0 configurazione. Così ora sto provando a chiamare 64-bit 7z.exe tramite la riga di comando. Non sto ricevendo errori. PowerShell segnala il lavoro come stato di esecuzione, quindi completa e non viene prodotto alcun file zip.
Invoke-Command -ComputerName localhost -FilePath 'C:\Scripts\ZipIt.ps1' -ArgumentList 'd:\TestFolder','d:\promote\TestFile.7z' -AsJob
Apprezzare qualsiasi aiuto o indicazioni.
Grazie, Gregory
Grazie Efran. Ha funzionato! Ho incontrato un problema di memoria, ma l'ho risolto aumentando dal valore predefinito di 150 MB. winrm set winrm/config/winrs '@' {MaxMemoryPerShellMB = '" 255' "'} –
Siete i benvenuti, @Che cosa! –