Domanda

Ho provato un certo numero di diversi modi per farlo, tutti frutto nello stesso errore. Ecco una serie di comandi:

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

L'output che ottengo è questo:

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!

Come posso ottenere passato che l'errore ???

Tengo a precisare, se corro lo scriptblock direttamente sul ServerA senza il Remoting, funziona. Grazie per qualsiasi aiuto!

È stato utile?

Soluzione

shell remote sono limitate a 150 MB di memoria per impostazione predefinita. È possibile modificare questo con l'utilità Gestione remota Windows da riga di comando sul server; Non sono sicuro se il WSMan PowerShell:. \ Viaggio vi permetterà di cambiare questo modo interattivo, perché penso che sia una proprietà generale della funzionalità della shell plug-in Gestione remota Windows e non direttamente collegato a PowerShell

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

La compressione dei file di grandi dimensioni è un processo avido di memoria.

Altri suggerimenti

Un'altra soluzione è quella di cambiare il configuraiton di Windows Remote Shell.

Si potrebbe eseguire quanto segue in un prompt di PowerShell sul server remoto:

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

Ciò è particolarmente utile se non si desidera applicare la modifica tramite Criteri di gruppo.

Ps: Per vedere quale sia il valore attualmente configurato è provare eseguendo il seguente:

Get-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top