2010-11-12 5 views
12

मैंने ऐसा करने के कई अलग-अलग तरीकों की कोशिश की है, वे सभी एक ही त्रुटि में परिणाम देते हैं।पावरहेल रिमोटिंग के माध्यम से चलाने के लिए मुझे 7za.exe कैसे मिल सकता है?

$s = New-PSsession -ComputerName ServerA 
$job = Invoke-Command -Session $s -Scriptblock { Start-Process -FilePath  
    "C:\Scripts\ArchiveEventLogs\ver4.5\7za.exe" -ArgumentList "a", 
    "C:\Scripts\Eventlogs.bak\ServerA-20101111.7z", "C:\Scripts\Eventlogs.bak\*.evt*", 
    "-mx7", "-oC:\Scripts\Eventlogs.bak", "-wC:\Scripts\Eventlogs.bak", "-t7z" -Wait } 
    -AsJob 

Get-Job | Wait-Job 
Receive-Job Job$ 

उत्पादन मैं यह है:: यहाँ आदेशों का एक सेट है

7-Zip (A) 9.17 beta Copyright (c) 1999-2010 Igor Pavlov 2010-10-04 
Scanning 

Creating archive C:\Scripts\Eventlogs.bak\ServerA-20101111.7z 

ERROR: Can't allocate required memory! 

कैसे मुझे लगता है कि त्रुटि पिछले प्राप्त कर सकते हैं ???

मुझे इंगित करना चाहिए, अगर मैं सीधे स्क्रिप्टब्लॉक को सर्वर ए पर रिमोटिंग के बिना चलाता हूं, तो यह काम करता है। किसी भी मदद के लिए धन्यवाद!

उत्तर

9

रिमोट शैल डिफ़ॉल्ट रूप से 150 एमबी मेमोरी तक सीमित हैं। आप इसे सर्वर पर winrm कमांड लाइन उपयोगिता के साथ tweak कर सकते हैं; मुझे यकीन नहीं है कि क्या पावरहेल wsman: \ drive आपको इस इंटरैक्टिव रूप से बदलने देगा क्योंकि मुझे लगता है कि यह WinRM में खोल प्लगइन कार्यक्षमता की सामान्य संपत्ति है और सीधे पावरहेल से कनेक्ट नहीं है।

C:\Windows\system32>winrm get winrm/config/winrs 
Winrs 
    AllowRemoteShellAccess = true 
    IdleTimeout = 180000 
    MaxConcurrentUsers = 5 
    MaxShellRunTime = 2147483647 
    MaxProcessesPerShell = 15 
    **MaxMemoryPerShellMB = 150** 
    MaxShellsPerUser = 5 

बड़ी फ़ाइलों को संपीड़ित करना स्मृति-भूख प्रक्रिया है।

+2

आपको बहुत बहुत धन्यवाद। मैंने उच्च जीपीओ आवंटन को प्रतिबिंबित करने के लिए अपना जीपीओ अपडेट किया और यह काम किया! यदि किसी को भी इसकी आवश्यकता है, तो जीपीओ स्थान है: कंप्यूटर कॉन्फ़िगरेशन -> नीतियां -> व्यवस्थापक टेम्पलेट्स -> विंडोज घटक -> विंडोज रिमोट शैल -> प्रति शैलियों में एमबी में अधिकतम मेमोरी निर्दिष्ट करें। अनेक अनेक धन्यवाद! – Sean

6

एक और समाधान विंडोज रिमोट शैल के कॉन्फ़िगरेशन को बदलना है।

आप दूरस्थ सर्वर पर एक PowerShell शीघ्र में निम्नलिखित को निष्पादित कर सकते हैं:

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048 

यह विशेष रूप से उपयोगी है जब आप समूह नीति के माध्यम से परिवर्तन को लागू करने नहीं करना चाहती।

पी.एस.: क्या वर्तमान में कॉन्फ़िगर मूल्य को क्रियान्वित करने की कोशिश कर रहा है निम्नलिखित देखने के लिए:

Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 
+0

विकल्प के लिए धन्यवाद, जीपीओ के साथ झुकाव से कहीं ज्यादा आसान है – sonjz

संबंधित मुद्दे

 संबंधित मुद्दे