運行記事本時,我可以拖放檔案來開啟它,但無法儲存該檔案。當我執行提升的記事本來儲存檔案時,我無法再拖曳/放置來開啟檔案。
我了解將文件從非提升的程式拖曳到提升的程式存在安全風險;但是,當我也運行提升的資源管理器時,我仍然無法拖曳/放到提升的記事本。
為什麼作業系統不允許兩個提升的程式透過拖放來交換資訊?我正在認真考慮重新使用 Windows Server 2003。
編輯:似乎兩個提升的程式可以交換資訊;探險家只是無法提升。提升資源管理器後,可以將檔案從資源管理器拖曳到提升的記事本。
答案1
無法從資源管理器「拖放」到提升的記事本視窗是使用者介面權限隔離的表現(UIPI) 特徵。它在作業系統中防止特權較低的應用程式向另一個特權較高的應用程式發送任意「訊息」(在作業系統/應用程式進程間通訊的意義上)。如果較高特權的應用程式不正確地處理訊息,則較低特權的應用程式可能會導致較高特權的應用程式代表其執行任意程式碼(這些類型的攻擊稱為粉碎攻擊,在 2002 年一篇描述當時 Windows 版本的攻擊方法的論文中如此命名)。
您可以將其視為以較低「完整性等級」(無特權)運行的應用程式與具有較高完整性等級(提升)的應用程式之間的「防火牆」。
如果你真的想要提升 Windows 資源管理器的權限,請執行下列操作:
- 啟動提升的命令提示字元並將其保持開啟狀態。
- 啟動任務管理器並透過前往「進程」標籤並點擊「顯示所有使用者的進程」來提升它。
- 使用工作管理員反白並終止 Explorer.Exe 的所有實例。
- 在仍開啟的提升的命令提示字元視窗中,輸入「Explorer」並按下 <ENTER> 鍵。
資源管理器將重新開啟高架。
答案2
如果您不想停用 UAC,可以嘗試停用 UIPI(使用者介面權限隔離)。
打開註冊表並轉到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
新增一個新的DWORD (32-bit) Value
名稱EnableUIPI
並將其設定為0
。
重新啟動機器並查看其行為是否符合您的要求。
答案3
這是 Vista 上的一個問題,我想它也出現在 2008 伺服器上。基本上你不能運行提升的資源管理器。您可以使用安全選項來執行此操作,並且當您這樣做時它似乎起作用了,但實際上您最終仍然得到一個標準(非提升的)資源管理器窗口,因此您遇到了問題。
我過去必須使用的解決方法涉及在提升的記事本會話中使用“另存為資源管理器”視窗(因為這也是提升的),或者使用提升的命令提示符來創建文件,但這些都不會修復您的拖曳和明顯下降問題。這是一個非常糟糕的錯誤,已經存在了一段時間了,我不知道為什麼他們不修復它,以便您可以運行資源管理器的提升實例。
答案4
據我猜測,負責整理拖放所需詳細資訊的程式碼與 UI 的其餘部分(包括資源管理器)一起在未提升的上下文中運行,因此它無法存取兩個進程之間的管道資訊。