powershell - 在注册表子项中查找值并删除它们

标签 powershell

我正在尝试在 PowerShell 中编写一个简单的脚本(试图将其保留在一行),它将:

  • 递归列出注册表项中的所有子项
  • 找到一个具有特定值的
  • 删除在上一步中找到的子项的不同值

  • 到目前为止,这是我的代码:
    Get-ChildItem "HKLM:\Software\Microsoft\KeyToQuery" -Recurse | Where-Object {$_.ValueA -eq "True"}
    

    在“KeyToQuery”下面是包含相同值的随机名称的几个子键。

    第一部分有效,但 Where-Object 语句永远不会评估为真。我也试过 -match 和 -like 无济于事。

    我哪里错了?

    最佳答案

    尝试这个:

    Get-ChildItem "HKLM:\Software\Microsoft\KeyToQuery" -Recurse |
    ForEach-Object { Get-ItemProperty $_.pspath } |
    Where-Object {$_.ValueA -eq "True"}
    

    关于powershell - 在注册表子项中查找值并删除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13466698/

    相关文章:

    PowerShell:将 HTML 表提取为 CSV

    powershell - ffmpeg - ffprobe 持续时间格式更改

    powershell - 在Powershell中比较格式表输出的列

    powershell - PowerShell错误-一元运算符 '-'后缺少表达式

    powershell - 加入域之前随机命名计算机

    json - 无法使用 powershell 更新 json 文件

    azure - 从 PowerShell 连接到 Azure 时出错

    windows - 如何在不显示窗口的情况下运行 PowerShell 脚本?

    regex - 可选的非捕获组中的命名捕获组

    Powershell 组对象和总结