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

如何在PowerShell中判断命令结果同时包含两种指定密钥保护类型

PowerShell判断BitLocker密钥保护类型同时包含指定值的正确写法

错误写法分析

  • 第一种写法逻辑错误:&& "RecoveryPassword"部分不具备实际判断作用,-contains仅验证左侧集合是否包含"tpmpin",后面的字符串会被PowerShell视为布尔值$true,导致实际只判断了是否存在"TpmPin"
  • 第二种写法逻辑错误:将两个密钥保护类型名拼接成单一字符串,而BitLocker返回的类型集合中不存在该组合值,无法实现预期判断

正确实现方式

先将密钥保护类型集合存入变量(避免重复执行命令提升效率),再通过-contains(区分大小写)或-icontains(不区分大小写)结合-and完成同时存在的判断,无需嵌套IF:

区分大小写版本

$keyTypes = (Get-BitlockerVolume -MountPoint "C:").KeyProtector.KeyProtectorType
if ($keyTypes -contains "TpmPin" -and $keyTypes -contains "RecoveryPassword") {
    # 此处添加符合条件时的执行代码
    Write-Host "C盘BitLocker同时启用了TpmPin和RecoveryPassword保护"
}

不区分大小写版本(适配输入大小写不规范的场景)

$keyTypes = (Get-BitlockerVolume -MountPoint "C:").KeyProtector.KeyProtectorType
if ($keyTypes -icontains "tpmpin" -and $keyTypes -icontains "recoverypassword") {
    # 此处添加符合条件时的执行代码
    Write-Host "C盘BitLocker同时启用了TpmPin和RecoveryPassword保护"
}

内容的提问来源于stack exchange,提问作者user20225877

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 02:05:22