家长控制的命令行编辑

家长控制的命令行编辑

我是 Windows 管理的新手,如果我写了一些愚蠢的东西,请原谅我:)

我接到一项任务,要求在有家长控制限制的 win7 用户帐户上启用特定应用程序的安装。用户不想进入家长控制的 GUI 界面 - 因为有很多 exe 文件需要启用,而且处理速度很慢。

因此我创建了一个简单的 .bat 文件,它修改注册表并允许指定用户执行 .exe。注册表更改工作正常 - exe 被添加到允许列表中(在家长控制设置 GUI 中可见)。

但是注册表更改似乎还不够。只有在 GUI 上发生更改(例如启用/禁用其他应用程序)时,更改才会应用。这让我想知道我是否错过了任何注册表项更改,或者是否存在某种家长控制应用程序的缓存层?(我尝试更改“上次设置更改”的注册表值,但没有帮助)

以下是一个应用程序的批处理文件的示例:

@echo off

set user=MyWinUser
set installkeyname={41e30d46-71eb-4e79-b5ed-28adb26ca9ff}
set installpath=C:\MyPath\app.exe

for /f "delims= " %%s in ('"wmic useraccount where name='%user%' get sid"') do (

    if not "%%s"=="SID" ( 
        set uid=%%s
        goto :sid_end
    )
)

:sid_end

: Add install path
C:\Windows\System32\reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Parental Controls\Users\%uid%\App Restrictions\%installkeyname%" /v "Path" /t REG_SZ /d "%installpath%"
C:\Windows\System32\reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Parental Controls\Users\%uid%\App Restrictions\%installkeyname%" /v "Allowed" /t REG_DWORD /d 1

: Set "SAFER_LEVELID_FULLYTRUSTED" for install path
C:\Windows\System32\reg.exe add "HKEY_USERS\%uid%\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers\262144\Paths\%installkeyname%" /v "Description" /t REG_SZ /d ""
C:\Windows\System32\reg.exe add "HKEY_USERS\%uid%\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers\262144\Paths\%installkeyname%" /v "ItemData" /t REG_SZ /d "%installpath%"
C:\Windows\System32\reg.exe add "HKEY_USERS\%uid%\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers\262144\Paths\%installkeyname%" /v "SaferFlags" /t REG_DWORD /d 0
C:\Windows\System32\reg.exe add "HKEY_USERS\%uid%\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers\262144\Paths\%installkeyname%" /v "LastModified" /t REG_QWORD /d 1435215704000036

pause

相关内容