none
关于使用应用程序兼容性工具(ACT)设置UAC白名单的问题 RRS feed

  • 问题

  • 我要使用MSI出品的Afterburner,这是个监控并设置显卡的软件,基本上每次启动都想使用,但是不想开机就启动。每次启动UAC都回弹出来。我上网搜索找到了可以设置UAC白名单,让UAC不对这个软件弹框。使用的是ACT中的compatibility administrator,我照着网上的说明添加application fix,选择runasinvoker,也test了,都无问题,UAC不在提示了。但是重启电脑之后再点击,弹出对话框fail to load rtcore32.sys。但是右键runasadmin,虽然弹出UAC,但是确定之后软件正常运行。

    求助到底哪里出错了,还是这样根本添加不了UAC白名单。如果这样不行,到底该如何做。谢谢

    2011年10月14日 4:19

答案

  • 也可以試試這篇文章提供的方法

    Create Administrator Mode Shortcuts Without UAC Prompts in Windows 7 or Vista
    http://www.howtogeek.com/howto/windows-vista/create-administrator-mode-shortcuts-without-uac-prompts-in-windows-vista/


    Folding@Home
    2011年10月14日 6:30
  • 之前那個方法, 需要執行該任務計劃的賬戶為當前登錄的用戶賬戶, 且需要該賬戶要隸屬於 Administrators 組, 如果用戶隸屬於 Users 組,  或當前登錄的用戶賬戶, 與執行任務計劃的賬戶不相同, 則此方法無效.

    下面再介紹一個在標準用戶賬戶下不需要觸發 UAC 並以管理員身份運行任意程序的方法(大致步驟):

    此方法具有安全風險!

    1. 此方法利用了默認配置下 Administrator 以完全權限運行任意程序, 而不受 UAC 提升權限, 以及 psexec 可以通過提供明文密碼的方式以特定用戶身份執行任意程序, 兩點來加以實現.

    2. 首先以一個管理員用戶賬戶, 以經過提權的命令提示符執行

    net user administrator * /active:yes

    來啟用 Administrator 賬戶, 並設置密碼.

    3. 接著通過該管理員賬戶執行命令

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon\SpecialAccounts\UserList" /v Administrator /t REG_DWORD /d 0x10000

    在交互式登錄界面禁止顯示 Administrator 用戶, 此項生效需要本地安全策略的安全選項中沒有啟用 "不顯示最後的用戶名".

    需要注意的是, 如果對所有的管理員賬戶都應用該設置, 將導致以後在 UAC 提示提升權限沒法確認, 如下圖所示:

    如遇到此問題, 可以通過以標準用戶身份運行命令提示符並執行命令

    runas /user:管理員帳戶名 "cmd /c regedit"

    -或-

    通過開始菜單搜索框輸入 regedit, 然後先按 Shift, 再鼠標右鍵, 在彈出的上下文菜單中, 選 "以其他用戶身份運行(F)", 輸入管理員賬戶的用戶名和密碼, 在打開註冊表編輯器後, 定位到之前那個註冊表項, 刪除或重命名管理員賬戶名的註冊表值.

    3. 下載 psexec

    下載地址:

    http://technet.microsoft.com/en-us/sysinternals/bb897553

    4. 現在就可以根據類似如下方式以標準用戶在不觸發 UAC 的情況下執行任意程序.

    psexec -d -i -u administrator -p 密碼 要執行的命令

    具體參數格式, 請通過執行 psexec | more 獲得.

    最後需要說明的是, 因為是明文提供 Administrator 賬戶的密碼, 所以這個方法具有很高的安全風險, 所以需要採取盡可能安全委託的方式保存 Administrator 賬戶的密碼, 僅在要調用 psexec 之前對保存的密碼進行解密, 比如: 若系統版本支持 EFS 的話, 將密碼分為若干組放置多個文件中, 並通過 EFS 對那些文件進行加密(加密之前還可以通過 certutil -encode 轉一下碼), 在執行之前, 讀取這些文件的密碼, 並將其組合到一起, 最後執行.

    以 Administrator 權限運行的程序存在輕易修改系統設置的可能, 另外其他用戶也可能通過當前正在運行的程序獲得一个相同權限的 cmd, 這些都存在較高的風險, 建議不是特別需要, 還是不要使用此方法.

     補充說明:

    也可以通過 .NET Framework 的 System.Diagnostics.Process, System.Diagnostics.ProcessStartInfo 和 PowerShell 來替代 psexec.


    Folding@Home




    2011年10月15日 15:38

全部回复

  • 也可以試試這篇文章提供的方法

    Create Administrator Mode Shortcuts Without UAC Prompts in Windows 7 or Vista
    http://www.howtogeek.com/howto/windows-vista/create-administrator-mode-shortcuts-without-uac-prompts-in-windows-vista/


    Folding@Home
    2011年10月14日 6:30
  • 不知道您从哪里看到的ACT可以设置UAC白名单的消息。你可以假设一下,假设这个功能存在,那么病毒也可以做到没有任何提示以管理员身份运行,那UAC不就形同虚设了吗?

    UAC的特性之一就是在任何程序需要执行危险操作时都通知用户,由用户批准,以此避免恶意程序悄悄的破坏系统。

    repl提供的方法可以参考一下。

     


    黄俊伟(wbpluto) MSN: hjw@live.cn Blogs: http://blog.wbpluto.com http://blogs.itecn.net/blogs/wbpluto

    2011年10月14日 7:25
  • 就是在网上看到的方法,原因我也说了,就是msi afterburner这个软件经常需要运行,但是每次都弹出uac比较烦人。既然我不打算关uac,证明我也要用这个功能,而且肯定也不会滥用白名单。可能白名单这个说法不对,我只是借用网上的称呼。

    2楼的方法,我回去试试

    2011年10月14日 8:14
  • 感谢,此方法确实管用,不过稍微有些麻烦。另外单击那个快捷方式时,会弹出一个cmd窗口,自动关掉之后就会弹出程序
    2011年10月14日 10:28
  • 之前那個方法, 需要執行該任務計劃的賬戶為當前登錄的用戶賬戶, 且需要該賬戶要隸屬於 Administrators 組, 如果用戶隸屬於 Users 組,  或當前登錄的用戶賬戶, 與執行任務計劃的賬戶不相同, 則此方法無效.

    下面再介紹一個在標準用戶賬戶下不需要觸發 UAC 並以管理員身份運行任意程序的方法(大致步驟):

    此方法具有安全風險!

    1. 此方法利用了默認配置下 Administrator 以完全權限運行任意程序, 而不受 UAC 提升權限, 以及 psexec 可以通過提供明文密碼的方式以特定用戶身份執行任意程序, 兩點來加以實現.

    2. 首先以一個管理員用戶賬戶, 以經過提權的命令提示符執行

    net user administrator * /active:yes

    來啟用 Administrator 賬戶, 並設置密碼.

    3. 接著通過該管理員賬戶執行命令

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon\SpecialAccounts\UserList" /v Administrator /t REG_DWORD /d 0x10000

    在交互式登錄界面禁止顯示 Administrator 用戶, 此項生效需要本地安全策略的安全選項中沒有啟用 "不顯示最後的用戶名".

    需要注意的是, 如果對所有的管理員賬戶都應用該設置, 將導致以後在 UAC 提示提升權限沒法確認, 如下圖所示:

    如遇到此問題, 可以通過以標準用戶身份運行命令提示符並執行命令

    runas /user:管理員帳戶名 "cmd /c regedit"

    -或-

    通過開始菜單搜索框輸入 regedit, 然後先按 Shift, 再鼠標右鍵, 在彈出的上下文菜單中, 選 "以其他用戶身份運行(F)", 輸入管理員賬戶的用戶名和密碼, 在打開註冊表編輯器後, 定位到之前那個註冊表項, 刪除或重命名管理員賬戶名的註冊表值.

    3. 下載 psexec

    下載地址:

    http://technet.microsoft.com/en-us/sysinternals/bb897553

    4. 現在就可以根據類似如下方式以標準用戶在不觸發 UAC 的情況下執行任意程序.

    psexec -d -i -u administrator -p 密碼 要執行的命令

    具體參數格式, 請通過執行 psexec | more 獲得.

    最後需要說明的是, 因為是明文提供 Administrator 賬戶的密碼, 所以這個方法具有很高的安全風險, 所以需要採取盡可能安全委託的方式保存 Administrator 賬戶的密碼, 僅在要調用 psexec 之前對保存的密碼進行解密, 比如: 若系統版本支持 EFS 的話, 將密碼分為若干組放置多個文件中, 並通過 EFS 對那些文件進行加密(加密之前還可以通過 certutil -encode 轉一下碼), 在執行之前, 讀取這些文件的密碼, 並將其組合到一起, 最後執行.

    以 Administrator 權限運行的程序存在輕易修改系統設置的可能, 另外其他用戶也可能通過當前正在運行的程序獲得一个相同權限的 cmd, 這些都存在較高的風險, 建議不是特別需要, 還是不要使用此方法.

     補充說明:

    也可以通過 .NET Framework 的 System.Diagnostics.Process, System.Diagnostics.ProcessStartInfo 和 PowerShell 來替代 psexec.


    Folding@Home




    2011年10月15日 15:38