检查注册表项是否存在,并根据是否存在更改注册表项

问题描述 投票:0回答:1

我工作的公司有人使用 VMWare 设置进行远程工作,我们的团队有一个问题,当他们在家时,如果不更改注册表项就无法使用各种功能,我设法找到了一个注册表仅当他们通过 VMWare 登录时才存在密钥,因此我尝试设置一个脚本来检测该密钥是否存在,如果存在,则将相关密钥更改为 1,如果不存在,则将相关密钥更改为0.

$remoteloginkey = Test-Path "HKCU:\Volatile Environment\1\View_Client_BrokerName"

if ($remoteloginkey) {
    Set-ItemProperty -Path "HKLM:\Software\Policies\VMWare, Inc\VMWare WebRTCRedir" -Name "teamsEnabled" -Value 1
} else {
    Set-ItemProperty -Path "HKLM:\Software\Policies\VMWare, Inc\VMWare WebRTCRedir" -Name "teamsEnabled" -Value 0
}

我已经设法将其组合在一起,据我所知应该可行吗?但是,我仍在学习 powershell,所以它似乎不起作用,并且不确定我哪里出了问题。它只是说“teamsEnabled”键不存在,但是当我在相关位置查看注册表时,它似乎就在那里

powershell registry
1个回答
0
投票

这个问题经常被问到。如果密钥的路径不存在,则需要使用新项目创建路径。以下来自 Microsoft 开发博客的文章显示了执行此操作的代码。

https://devblogs.microsoft.com/powershell-community/how-to-update-or-add-a-registry-key-value-with-powershell/

您可能需要修改此代码以包含您的逻辑,以便将值设置为 1(如果值为零)或设置为零(如果值是 1)。

© www.soinside.com 2019 - 2024. All rights reserved.