所以我有一个脚本应该备份数据库并将其压缩到 zip 文件中。我正在使用 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 位。
最佳答案
如果您使用 powershell 远程处理在远程计算机上执行脚本,请阅读本文 HERE
正如您将看到的,远程计算机 wsman 服务对通过 psremoting 运行的脚本可以消耗的资源量有一些可配置的限制。
要在更改 wsman 限制之前消除它们,您可以尝试在本地以交互方式运行脚本,看看它是否有效。如果您有权访问该机器。
关于Powershell 7Zip 压缩无法分配所需的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370795/