2016-08-24 95 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

請原諒,但我不明白的步驟,你可以一步一步地寫你的答案,謝謝你,很抱歉 –