題 允許給定的應用程序以管理員身份運行,而不提示用戶輸入憑據


在我的工作場所,Windows 7計算機正在推出,用戶沒有被授予管理權限。我的部門創建了在用戶機器上本地運行的應用程序,這些應用程序正常工作(據我們所見)。另一方面,一個應用程序沒有。

它是更新其他應用程序的應用程序(我們的'更新代理')。因此,當用戶運行更新代理時,它們會立即因錯誤而停止,因為該應用程序無法寫入C:\ Program Files \我們的應用程序\

我們需要一種方法讓這些Windows 7計算機允許此應用程序以管理員身份運行,或者在用戶執行時以管理員權限運行。由於永遠不會為這些用戶提供管理員密碼,因此不能選擇“以管理員身份運行”。用戶需要單擊快捷方式,並以足夠的權限運行以修改該文件夾,寫入註冊表等。

我希望的是某種GPO或策略或可以在域級別配置的允許這種情況發生的事情;或者,在客戶端計算機上配置的東西 一旦。我們的應用程序是.net Framework 1.1和2.0,並使用密鑰簽名。

任何見解將不勝感激。


6
2017-09-16 17:53


起源




答案:


為了實現您想要的目標,我能想到的最簡單的事情是使用將在設定的時間或間隔運行的管理憑據創建計劃任務。

您可以通過命令行操作計劃任務(schtasks.exe)或登錄腳本。

但是,我必須警告你,無論何時你故意在自己的安全漏洞中,你都會在以後的問題上遇到麻煩。

它只需要一個自作聰明,以便找到.exe的名稱,並改變它或放置他/她想要的任何東西 - 例如他們可以將cmd.exe複製到該位置並重命名,然後突然他們有一個具有管理員權限的命令提示符! (好吧,你可以使用NTFS權限和東西,他們可以把硬盤驅逐出去 - 你可以使用Bitlocker /加密......)我想說的是,這是一個你故意介紹的漏洞。

另一種解決方案是重新構建程序。我建議作為某種系統服務來完成工作,並且只需要一個客戶端在需要時調用服務。這應該很好。


3
2017-09-16 18:04



:D我的加密VB腳本的想法是一樣的。您需要確保您擁有NTFS權限,拒絕用戶移動,重命名或刪除目標文件(至少這將適用於我的實現) - Jeff F.
@jeff但是仍然沒有真正完美的答案,因為用戶可以使用Linux現場磁盤,或者撕掉硬盤並更改文件......我知道這不太可能,但我仍然保持安全! - William Hilsum
@Wil如果文件在服務器上則不行! - Jeff F.
@Jeff ... +1必須在那裡給你...如果計劃任務,你仍然可以離線編輯位置,憑證將被緩存......但仍然是一個很好的解決方案! - William Hilsum
@Wil想到這一點哦,你必須確保你使用直接IP到服務器,即使它在服務器上。如果您按名稱使用服務器,則特別敏銳的人可以調整其主機文件並獲得訪問權限。有趣的話題哦。 - Jeff F.


我們最終做的是創建一個域帳戶,該帳戶將作為每台計算機上的本地管理員,由GPO推出。然後,我們可以使用這些憑據啟動更新應用程序。


2
2017-09-17 18:04





找出您需要使用procmon,filemon和regmon訪問的註冊表設置和文件設置,並使用名為cacls和regini的默認Windows工具來更改這些設置,以便您具有適當的訪問權限。


2
2018-05-16 11:47



你可以解釋嗎 怎麼樣 使用上述程序進行權限更改? - bwDraco


調查 RunAsGui。它允許您為要允許用戶使用的給定程序存儲管理員的加密憑據。免費。


2
2018-06-21 23:42



此鏈接不再有效。 - barbecue


更改被拒絕的文件夾的權限訪問C:\ Program Files \我們的應用程序\


1
2017-09-16 21:55



它只處理該文件夾的NTFS權限;沒有註意註冊表訪問,程序集安裝等。 - Brian


一種可能性是創建一個 加密的VB腳本 隨著 運行方式 命令shell(命令)。只要用戶無法移動文件等,您就可以啟動它來打開此程序。您甚至可以創建快捷方式,將其重命名為程序名稱並更改圖標以使其無縫。


0
2017-09-16 18:05



該工具進行了某種混淆,但肯定沒有加密。


您可以將腳本設置為在GPO的用戶端的登錄腳本中運行更新代理,並告訴它檢查應用程序的版本以及服務器上的那個是否更新以運行安裝。然後在gpo的計算機端運行具有合併的組策略環回模式中的策略。這將以本地系統帳戶運行更新。


0
2018-06-22 00:58