无法使用 powershell 生成的随机密码打开 7z 文件

Couldnt open 7z file with random password generated by powershell

下面的脚本可以生成7z文件并用密码加密。但是,我无法使用密码打开文件。我的脚本怎么了?

工具

  1. Powershell v2
  2. .NET 4
  3. Window 服务器 2008

以下脚本无法使用密码打开 7z 文件。

(我得到的错误 >> .\staff_2019-11-02.7z:加密文件中的校验和错误 .\staff_2019-11-02.7z。文件损坏或密码错误。)

powershell 生成的密码 = e+p@Bcr2(例如密码)

[Reflection.Assembly]::LoadWithPartialName("System.Web")
$randomPassword = [System.Web.Security.Membership]::GeneratePassword(8,2)

if (-not (test-path "C:-Zipz.exe")) {throw "C:-Zipz.exe needed"}
set-alias sz "C:-Zipz.exe"

$timestamp = Get-Date -f yyyy-MM-dd
$Source = ".\staff.txt"
$Target = ".\staff_$timestamp.7z"
$outputPassword = ".\staff_Password.txt"

sz a -mx=0 -p$randomPassword -mhe=on -m0=lzma2 $Target $Source | Out-Null

Write-Output "staff_$timestamp.7z password is $randomPassword" | Out-file $outputPassword  -Append

可以用密码打开7z文件Abc123

if (-not (test-path "C:-Zipz.exe")) {throw "C:-Zipz.exe needed"}
set-alias sz "C:-Zipz.exe"

$timestamp = Get-Date -f yyyy-MM-dd
$Source = ".\staff.txt"
$Target = ".\staff_$timestamp.7z"
$outputPassword = ".\staff_Password.txt"

sz a -mx=0 -pAbc123-mhe=on -m0=lzma2 $Target $Source | Out-Null

我怀疑它是 PowerShell 解析器,试试这个

sz a -mx=0 $('-p' + $randomPassword) -mhe=on -m0=lzma2 $Target $Source