powershell - 如何使用 PowerShell 在注册表中查找 DWORD 并更改值。DWORD 可能在多个键中,并且事先不知道
问题描述
我是 Powershell 的新手,不知道该怎么做。我至少可以识别我正在寻找的 DWORD。如果我知道位置,我也可以设置一个值。只是不确定如何将搜索和更新两者结合起来。
$path="HKLM:\SYSTEM\CurrentControlSet\Enum\USB\"
Get-ChildItem $path -Recurse -ErrorAction SilentlyContinue | Get-ItemProperty -name Foundit -ErrorAction SilentlyContinue | Where-Object{$_.Foundit -eq 22}
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Enum\USB\Test\1" -Name Foundit -Value '21'
解决方案
$DWordName = "MSIP.OutlookAddin"
$Locations = "HKCU:\SOFTWARE\Microsoft\Office\16.0\Outlook\Resiliency\DoNotDisableAddinList"
foreach($location in $locations)
{
try {if((get-itempropertyvalue -path $location -name $DWordName) -eq ""){write-host "Value doesn't exists"}}
catch {New-ItemProperty -Path $Location -Name $DWordName -Value "1" -Type DWord}
if((get-itempropertyvalue -path $location -name $DWordName) -eq "1"){write-host "Value already exists"}
else {Set-ItemProperty -Path $Location -Name $DWordName -Value "1" -Type DWord}
}
推荐阅读
- mongodb - 无法在 Ubuntu 20.04.2 LTS 上启动 mongod 进程
- java - Vaadin 参考RouterLayout中的mainLayout
- excel - 如何在 Excel 的“查询和连接”中引用单元格(用引用替换 SQL 查询)
- r - 基于data.table R中的列的条件滚动差异或梯度
- shell - 使用 sqlloader 加载数据
- griddb - SQLSTATE [42S02]:未找到基表或视图:1146 表 'postingtest.table_testing' 不存在 (SQL:)?
- intellij-idea - Intellij with fabric minecraft 未加载 minecraft 客户端,原因不明
- java - Android Web 视图未从资产文件夹加载
- reactjs - 如何解决 window.Notification.requestPermission 不是函数错误?
- python - 如何优化代码,动态地采用 convert_data 而不是固定大小 6