2016-08-24 85 views
1

我需要在注册表中编辑Windows用户(域或本地)配置文件,如禁用指定用户的任务管理器。当用户注销时在注册表中编辑用户配置文件

我为此在HKEY_USERS [用户SID] ...

但是,如果用户登录,一旦用户关闭LOGE这个地址只存在,[SID]树移除

我怎么能如果用户未登录,请执行此操作吗?

+0

它不disapear机器上的IM在......你也许可以看看组策略 – BugFinder

+0

确实[这](http://stackoverflow.com/q/16610567/1997232)的作品? – Sinatr

+0

我想为另一个用户做这个,而不是当前用户 –

回答

0

您可以使用vbscript循环每个用户配置单元。以您需要的方式配置您自己的配置文件。导出注册表项。将REG文件中的所有 HKEY_CURRENT_USER实例替换为HKEY_LOCAL_MACHINE \ TempHive保存.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 
+0

请原谅,但我不明白的步骤,你可以一步一步地写你的答案,谢谢你,很抱歉 –