Windows

列印機驅動程序可能需要什麼權限?

  • November 21, 2013

Windows 7 專業版,32 位

我們有專門的列印機用於特定的生產任務。這台列印機的驅動程序有一個奇怪的問題,當具有有限權限的使用者(“使用者”組)登錄時,列印機首選項中的某些選項被禁用(例如按鈕被禁用,變灰),當使用者是成員時管理員組的登錄選項已啟用。我已經聯繫了列印機製造商,但我沒有從他們那裡得到太多的合作。

我安裝了 Process Explorer 來尋找任何可能讓我知道驅動程序可能需要提升權限的文件的句柄,但是我看不到任何線索。

我的問題是:我還能如何確定驅動程序需要哪些權限?

答案(就我而言)非常簡單且合乎邏輯:將“管理列印機”權限授予使用者或組。

我已經看到這個問題以幾種不同的方式表現出來。它幾乎總是可以追溯到舊的列印機驅動程序或不完全支持 UAC 的專用驅動程序。

需要檢查的幾個一般事項:

  • 您使用的是列印伺服器嗎?如果是這樣,請確保在列印機首選項中為列印伺服器本身的列印隊列啟用了特定於驅動程序的選項。我已經看到來自 Xerox 的某些驅動程序,如果它們沒有在伺服器上啟用,它們將在客戶端禁用列印機首選項選項,例如雙工。
  • 一些列印驅動程序使用 SNMP 來查詢列印機以確定已安裝哪些附加組件(例如雙面列印器),從而啟用列印機首選項中的這些功能。您的列印機或驅動程序應記錄在案。
  • 如果您解除安裝列印機並重新安裝,是否可以暫時解決問題?如果是這樣,可能是另一個列印驅動程序無法與共享 DLL 或系統資料庫配合使用。
  • 您是通過 GPO 還是printui.dll登錄腳本中的實用程序將列印機安裝為每台機器的連接?由於 UAC,老司機有時在這種情況下無法正常工作。嘗試在每個使用者的基礎上安裝列印機來測試這個理論。

我安裝了 Process Explorer 來尋找任何可能讓我知道驅動程序可能需要提升權限的文件的句柄,但是我看不到任何線索。

你在正確的軌道上,你只是使用了錯誤的工具。Process Explorer 將向您顯示每個程序已打開的內容,這對於解決 DLL 版本控制問題等問題非常有用,但您需要更深入的魔法看看ProcMon。ProcMon 的偉大之處在於它將記錄您基於 Windows 的電腦上發生的幾乎所有事情,而 ProcMon 的可怕之處在於它將記錄您電腦上發生的幾乎所有事情。我們正在談論數以千萬計的事件。

spoolsv.exe當您以管理員組中的使用者身份登錄時,首先過濾僅由列印後台處理程序 ( ) 生成的事件。轉到列印機首選項的選項部分。等待記錄的事件數量變慢,排除所有以前的事件,然後開始切換為非特權使用者禁用的選項。然後立即停止記錄。這應該有望將您需要查看的事件限制在可管理的範圍內。您的列印機首選項設置可能只是系統資料庫項,因此可能從那裡開始。如果您可以找到特定的系統資料庫項,請僅針對它過濾您的事件,然後再次測試設置以確認您已找到它。然後只需授予 BUILTIN\Users 組對系統資料庫項或項的權限。

不幸的是,這說起來容易做起來難。除非您對 Windows 有非常深入的了解,否則這通常是一個反複試驗的案例。

引用自:https://serverfault.com/questions/505142