HP Sure Recover User Guide
$total = $swmFiles.count
$current = 1
$swmFiles | Sort-Object $ToNatural | ForEach-Object {
Write-Progress
-Activity "Generating manifest" `
-Status "$current of $total ($_)" `
-PercentComplete ($current / $total * 100)
$hashObject = Get-FileHash -Algorithm SHA256 -Path $_.FullName
$fileHash = $hashObject.Hash.ToLower()
$filePath = $hashObject.Path.Replace($pathToManifest + '\', '')
$fileSize = (Get-Item $_.FullName).length
$manifestContent = "$fileHash $filePath $fileSize"
Out-File -Encoding utf8 -FilePath $mftFilename -InputObject
$manifestContent -Append
$current = $current + 1
}
注:
HP Sure Recover 的清单不能包含 BOM,因此以下命令可将文件改写为不带 BOM 的 UTF-8。
$content = Get-Content $mftFilename
$encoding = New-Object System.Text.UTF8Encoding $False
[System.IO.File]::WriteAllLines($pathToManifest + '\' + $mftFilename,
$content, $encoding)
2. 保存脚本。
3. 执行脚本。
powershell .\generate-manifest.ps1
生成清单签名
Sure Recover 使用加密签名验证代理和映像。以下示例使用 X.509 PEM 格式的私人密钥/公共密钥对
(.PEM 扩展名)。根据需要调整命令,以使用 DER 二进制证书(.CER 或 .CRT 扩展名)、BASE-64 编码
PEM 证书(.CER 或 .CRT 扩展名)或 PKCS1 PEM 文件(.PEM 扩展名)。该示例还使用 OpenSSL,它可以
生成大端格式的签名。您可以使用任何实用程序对清单进行签名,但部分 BIOS 版本仅支持小端格式的
签名。
6
第 2 章 创建公司映像