我需要在注册表中编辑Windows用户(域或本地)配置文件,例如禁用指定用户的任务管理器。
我在HKey_Users [用户SID]中执行此操作...
但是这个地址仅在用户登录时存在,并且一旦用户关闭,[SID]树被删除
如果用户未登录,我该怎么办?
答案 0 :(得分:0)
您可以使用vbscript循环访问每个用户配置单元。以您需要的方式配置您自己的配置文件。导出reg密钥。替换所有实例 使用HKEY_LOCAL_MACHINE \ TempHive的reg文件中的HKEY_CURRENT_USER保存.reg文件。现在运行vbscript。多年来一直这样做。请注意,这会将更改应用于除当前登录用户之外的所有当前和未来用户(reg.exe无法加载当前正在使用的配置单元)。如果您需要它来排除某些用户,我将需要调整脚本。
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
strWinDir = WshShell.ExpandEnvironmentStrings("%windir%")
strSystemDrive = WshShell.ExpandEnvironmentStrings("%SystemDrive%")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strSystemDrive & "\Users")
Set colSubfolders = objFolder.Subfolders
For Each objSubfolder in colSubfolders
WshShell.Run(strWinDir & "\System32\cmd.exe /c " & strWinDir & "\System32\reg.exe load HKLM\TempHive " & chr(34) & "C:\Users\" & objSubfolder.Name & "\NTUser.dat" & chr(34)),0, True
WshShell.Run(strWinDir & "\regedit.exe /i /s " & strSystemDrive & "\PostInstall\PropPref.reg"),0, True
WshShell.Run(strWinDir & "\System32\cmd.exe /c " & strWinDir & "\System32\reg.exe unload HKLM\TempHive"),0, True
Next
WScript.Quit