You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从AD检索BitLocker恢复密钥:PowerShell输出格式问题求助

嘿,我来帮你搞定这个问题!你遇到的情况是因为select msfve-recoverypassword返回的是包含该属性的对象,而不是直接返回密码字符串,所以输出时会带上对象的结构标记。咱们调整一下代码就能解决:

修改后的完整代码

Clear-Host
$TestOU = "OU=ABC,DC=XYZ,DC=com"
$PCs = Get-ADComputer -Filter * -SearchBase $TestOU

$Results = ForEach ($Computer in $PCs) {
    # 获取最新的BitLocker恢复密钥(提取纯字符串值)
    $recoveryKey = Get-ADObject -Filter 'objectclass -eq "msFVE-RecoveryInformation"' `
        -SearchBase $computer.DistinguishedName `
        -Properties msFVE-RecoveryPassword, whencreated | 
        Sort-Object whencreated -Descending | 
        Select-Object -First 1 -ExpandProperty msfve-recoverypassword

    # 构建结果对象,处理无密钥的情况
    New-Object PSObject -Property @{
        ComputerName     = $Computer.Name
        RecoveryPassword = if ($recoveryKey) { $recoveryKey } else { "未找到BitLocker恢复密钥" }
    }
}

$Results

关键改动说明

  1. 用-ExpandProperty提取纯字符串:
    原来的select msfve-recoverypassword会返回一个带属性名的对象,而-ExpandProperty会直接提取属性的原始值(也就是纯密钥字符串),彻底解决多余标记的问题。

  2. 增加-First 1过滤最新密钥:
    你按创建时间倒序排序后,只需要取最新的一条密钥记录就够了,避免返回多个密钥导致结果混乱。

  3. 空值友好处理:
    加入了判断逻辑,如果某台域电脑没有对应的BitLocker恢复信息,会显示明确的提示文本,而不是空值或奇怪的输出。

内容的提问来源于stack exchange,提问作者A. To

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:26:53