首页 > 解决方案 > 换行后选择字符串

问题描述

我想从此命令中提取 ID:

    manage-bde -protectors c: -get
    

该命令的结果是:

Volume C: [Windows]
Tous les protecteurs de clés

    Mot de passe numérique :
      ID : {XXXXXXX-A315-42C6-9754-XXXXXXXXXX}
      Mot de passe :
        XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX

    TPM :
      ID : {XXXXXX-99B3-481B-B3FA-XXXXXXXXXXX}
      Profil de validation PCR :
        7, 11
        (Utilise le démarrage sécurisé pour la validation d’intégrité.)

我只想要“Mot de passe numérique”中的 ID(第一个,但在某些 PC 上,它是第二个)而不是“TPM”

我试图用选择字符串来做到这一点,但它同时返回:/

有没有办法“告诉”选择字符串在“mot de passe numérique”表达式之后只打印 ID?

谢谢 :)

标签: powershellselect-string

解决方案


使用Select-String's-Context参数表示您对匹配项周围的行感兴趣:

$mbdeOutput = manage-bde -protectors c: -get

$mbdeOutput |Select-String 'Mot de passe numérique :' -Context 0,1 |ForEach-Object { $_.Context.PostContext[0] }

这应该输出紧随其后的行Mot de passe numérique :


推荐阅读