Frage

Ich habe eine Reihe von verschiedenen Möglichkeiten versucht, dies zu tun, sie alle zu den gleichen Fehlern. Hier ist ein Satz von Befehlen:

$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$

Der Ausgang I erhalten, ist dies:

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!

Wie kann ich an diesen Fehlern bekommen ???

Ich mag darauf hinweisen, wenn ich das Script direkt auf ServerA ohne Remote laufe, es funktioniert. Vielen Dank für jede Hilfe!

War es hilfreich?

Lösung

Remote Schalen werden zu 150 MB Speicher standardmäßig beschränkt. Sie können diese zwicken mit dem winrm Befehlszeilenprogramm auf dem Server; Ich bin mir nicht sicher, ob die Powershell wsman:. \ Laufwerk lassen Sie diese interaktiv ändern, weil ich denke, es ist eine allgemeine Eigenschaft der Shell-Plugin-Funktionalität in winrm und nicht direkt mit Powershell verbunden

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

Komprimieren von großen Dateien ist ein speicherhungrigen Prozess.

Andere Tipps

Eine andere Lösung ist es, die configuraiton der Windows Remote Shell zu ändern.

Sie können die folgenden in einer Powershell-Eingabeaufforderung auf dem Remote-Server ausgeführt werden:

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

Dies ist besonders nützlich, wenn Sie die Änderung über die Gruppenrichtlinie nicht anwenden möchten.

Ps: Um zu sehen, was die aktuell konfigurierten Wert versuchen wird die Ausführung der folgenden Schritte aus:

Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top