Powershell 7Zip压缩无法分配所需的内存

时间:2016-12-28 22:46:03

标签: powershell memory compression 7zip

所以我有一个应该备份数据库并将其压缩成zip文件的脚本。我正在使用7Zip并获得以下内容:

Error: "Can't Allocate Required Memory"

当我尝试压缩备份时。备份大约是2.3GB,当我查看Task Manger时,我试图运行脚本的远程机器有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 个答案:

答案 0 :(得分:2)

如果您使用PowerShell远程处理来执行远程计算机上的脚本,请阅读本文HERE

正如您将看到的那样,远程机器wsman服务对通过psremoting运行的脚本可以消耗多少资源有一些可配置的限制。

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

答案 1 :(得分:0)

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

[System.IntrPtr]::Size

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