2016-12-28 559 views
1

所以我有一个脚本,应该采取数据库的备份和压缩到一个zip文件。我正在使用7Zip并获取以下内容:Powershell 7Zip压缩无法分配所需的内存

Error: "Can't Allocate Required Memory" 

当我尝试压缩备份时。备份大约为2.3GB,而我试图运行该脚本的远程计算机在查看任务管理器时有3GB的可用内存。另外,当我打开远程机器上的Powershell并运行代码

set-alias sz "$env:C:\Temp\7-Zip\7z.exe" 
sz a -t7z $zipfile $backup 

它的工作方式很好。

这里是我的代码:

Invoke-Command -Session $s -ScriptBlock {set-alias sz "$env:C:\Temp\7-Zip\7z.exe"} 
Write-Host "Compressing Database and creating Zip file...." 
Invoke-Command -Session $s -ScriptBlock {sz a -t7z $zipfile $backup} 
Write-Host "Completed Compressing Database and creating Zip file!" 

我已经看过a 7Zip forum post并试图减少字典大小,但它仍然无法正常工作。任何想法或建议如何解决这个问题,将不胜感激。

编辑:远程机器的Powershell版本是2.0和64位。

回答

2

如果你正在使用PowerShell远程到远程计算机上执行脚本,请对这篇文章的读HERE

正如你可以看到远程计算机WSMAN服务有多少资源的脚本运行的一些配置限制通过psremoting可以消耗。

要在更改它们之前消除任何wsman限制,您可以尝试在本地交互式运行脚本并查看它是否有效。如果你有机会访问。

0

这可能是因为您运行的是32位版本的Powershell。要检查,请尝试:

[System.IntrPtr]::Size 

如果它是4 - 您在32位Powershell上。

+0

远程计算机正在运行64位版本的Powershell。 –