Chcę móc zdalnie wprowadzić do systemu i rozpakować lub rozpakować pliki, a następnie mieć sygnał procesu, gdy jest kompletny. Start-proces działa z parametrem -wait, aby synchronicznie uruchamiać 7z.exe z PowerShell. Kiedy próbuję połączyć to z invoke-command, aby zdalnie uruchomić to samo polecenie, nie uwzględnia ono parametru wait i uważam, że zabija proces, ponieważ szybko zwraca i nigdy nie tworzy pliku zip.Zdalne archiwizowanie plików przy użyciu startowego procesu PowerShell i polecenia invoke
[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
początkowo próbowałem PSCX write-zip & poszerzyć-archiwum, ale ten ostatni nie jest kompatybilny z 64-bitową .NET 4.0 konfiguracji. Teraz próbuję wywołać 64-bitowy plik 7z.exe za pośrednictwem wiersza poleceń. Nie otrzymuję żadnych błędów. PowerShell zgłasza zadanie jako działające, a następnie kompletne i nie jest tworzony żaden plik zip.
Invoke-Command -ComputerName localhost -FilePath 'C:\Scripts\ZipIt.ps1' -ArgumentList 'd:\TestFolder','d:\promote\TestFile.7z' -AsJob
Doceń każdą pomoc lub wskazówki.
Dzięki, Gregory
Dziękuję Efran. To się udało! Wpadłem na problem z pamięcią, ale naprawiłem go, zwiększając domyślną wartość 150 MB. winrm set winrm/config/winrs '@' {MaxMemoryPerShellMB = '" 255' "'} –
Nie ma za co, @Co! –