Powershell和注册表项改变挑战

时间:2014-05-29 19:18:34

标签: powershell regedit

我在hklm下使用这样的行进行更改:

 Set-Location HKLM:\software\afilefolder\afilefolder

它有效。我还需要对当前用户密钥进行更改,我被告知通过更改hkey_users来执行此操作,但我有大约5台机器将运行此脚本并基于它是什么机器,我需要创建一个更改为我的位置,因为hkey_users有一个sid作为下一个文件夹,并为每个用户更改。所以基于用户,我抓住sid,我拥有所有这些。我设置了这样的位置:

$test = "hkey_users\" + $hkeypath + "\filefolder\filefolder"
Set-Location $test

我不能将连接放在Set-Location行中,powershell也没有,但是当我这样做时,它说无法找到以下路径:C:\ windows \ system32 \ HKEY_USERS \ correctsid \ filefolder \ filefolder

为什么它会在system32文件夹中查找?我如何更改hkey_user。请指教

1 个答案:

答案 0 :(得分:0)

你可以设置好位置,使用字符串连接,只需将整个内容放在双引号中。你想要在注册表中引用它只是为了安全,试试这个:

Set-Location "registry::hkey_users\$hkeypath\filefolder\filefolder"

这对我有用(好吧,我将我的SID设置为$mysid,然后执行了Set-Location "registry::hk_users\$mysid\software",这使我在注册表中获得了我的软件密钥,在我的SID下。