के साथ फ़ाइलों को दूरस्थ रूप से ज़िपित करना मैं एक सिस्टम में रिमोट करने और ज़िप फ़ाइलों को अनजिप करने में सक्षम होना चाहता हूं और प्रक्रिया पूर्ण होने पर प्रक्रिया सिग्नल कर सकता हूं। स्टार्ट-प्रोसेस PowerShell से सिंक्रनाइज़ 7z.exe चलाने के लिए -wait पैरामीटर के साथ काम करता है। जब मैं इसे उसी आदेश को दूरस्थ रूप से चलाने के लिए invoke-command के साथ गठबंधन करने का प्रयास करता हूं, तो यह प्रतीक्षा पैरामीटर का सम्मान नहीं करता है और मेरा मानना है कि यह प्रक्रिया को मार रहा है क्योंकि यह जल्दी से लौटता है और कभी भी ज़िप फ़ाइल नहीं बनाता है।PowerShell स्टार्ट-प्रोसेस और 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
मैं मूल रूप से PSCX लिखने ज़िप & विस्तार-संग्रह की कोशिश की, लेकिन बाद 64-बिट .NET 4.0 विन्यास के साथ संगत नहीं है। तो अब मैं कमांड लाइन के माध्यम से 64-बिट 7z.exe को कॉल करने का प्रयास कर रहा हूं। मुझे कोई त्रुटि नहीं मिल रही है। पावरशेल नौकरी को चलने वाले राज्य के रूप में रिपोर्ट करता है और फिर पूरा करता है, और कोई ज़िप फ़ाइल नहीं बनाई जाती है।
Invoke-Command -ComputerName localhost -FilePath 'C:\Scripts\ZipIt.ps1' -ArgumentList 'd:\TestFolder','d:\promote\TestFile.7z' -AsJob
किसी भी मदद या पॉइंटर्स की सराहना करें।
धन्यवाद, ग्रेगरी
धन्यवाद Efran। वह काम किया! मैंने एक स्मृति समस्या में भाग लिया लेकिन 150 एमबी डिफ़ॉल्ट से बढ़कर इसे ठीक कर दिया। winrm सेट winrm/config/winrs '@ {{MaxMemoryPerShellMB =' "255'" '} –
आपका स्वागत है, @ क्या! –