題 如何否定程序的提升?


Windows是否有 “自動拒絕提升請求” 清單?

如果用戶是 “標準用戶”,有可能有Windows 自動拒絕任何提升請求 通過改變 ConsentPromptBehaviorUser 組策略設置為 自動拒絕提升請求

  • Prompt for credentials on the secure desktop. (默認)當操作需要提升權限時,將在安全桌面上提示用戶輸入其他用戶名和密碼。如果用戶輸入有效憑據,則操作將繼續使用適用的權限
  • Prompt for credentials 當操作需要提升權限時,系統會提示用戶輸入管理用戶名和密碼。如果用戶輸入有效憑據,則操作將繼續使用適用的權限
  • Automatically deny elevation requests 當操作需要特權提升時,將顯示可配置的訪問被拒絕錯誤消息。以標準用戶身份運行桌面的企業可以選擇此設置以減少幫助台呼叫

這在程序可能會提升升級的情況下很有用,但這需要幫助台上的人來運行三個建築物(進入他們的 肩膀上 證書)。只有一旦他們到達那裡,他們發現用戶不應該運行該程序。

我們  應用程序以標準用戶身份運行(可能獲得 拒絕訪問 錯誤),因為這是正確的答案。

但該設置適用於 所有 提升的計劃。是否有可能

  • 標記程序,或
  • 將其添加到列表中

這樣它會自動被拒絕提升請求,並作為標準用戶運行?

當程序錯誤地發生時會出現問題:

  • 標記為 requestedExecutionLevel 的 requireAdministrator 在其嵌入或外部清單中
  • 已選中“運行此程序具有管理員”兼容性選項
  • 被檢測為安裝程序(例如,被命名) install 要么 setup通過 EnableInstallerDetection 啟發式

注意:  假設 應用程序沒有清單,可能建議添加清單指示 requestedExecutionLevel: asInvoker。此解決方案還將禁用應用程序的文件和註冊表虛擬化。

也可以看看


12
2018-03-04 12:47


起源




答案:


一種可能的解決方案是協同使用兩個策略:

  1. 配置已經提到的 ConsentPromptBehaviorUser 組 政策設定為 自動拒絕提升請求。就像聲明的那樣 在這個問題中,這將影響所有運行的程序。

  2. 接下來啟用 用戶帳戶控制:僅提升可執行文件 已簽名並經過驗證 政策制定。 (來自微軟)這個 設置強制執行公鑰基礎結構(PKI)簽名檢查 對於請求提升的任何交互式應用程序 特權。企業管理員可以控制哪些應用 允許通過向證書發布者添加證書來運行 本地計算機上的證書存儲。

  3. 使用您組織的密鑰對任何受信任的程序進行簽名並將其發佈到 您的所有計算機上的受信任的發布者證書存儲 組織。 更多信息。


4
2018-03-10 05:27



接受,因為幾乎肯定沒有答案;這些變通辦法是最好的辦法。 - Ian Boyd