如何擺脫“您信任此列印機”消息框並通過 GPO 添加我的列印機?
- 工作站:Windows 7 (x64)$$ Install target for printer $$
- 伺服器:Windows Server 2012 R2 (x64)$$ Active Directory, Print Server $$
我一直在試圖讓這台列印機通過組策略安裝在桌子上!出於某種原因,我根本無法使用 GPO 部署這台列印機。我已嘗試將其設置為通過
Computer Configuration->Policies->Windows Settings->Deployed Printers
、 以及Computer Configuration->Preferences->Control Panel Settings->Printers
和進行部署User Configuration->Preferences->Control Panel Settings->Printers
。我還嘗試通過我的列印伺服器管理控制台通過使用者和/或電腦定位添加它。我已經嘗試了各種方法,但沒有任何效果。我遵循了一堆教程並觀看了一堆影片,以確保我沒有遺漏任何東西,但這確實是一項簡單的任務(理論上)……它只是行不通。在嘗試調試問題時,我發現如果我去
\\myserver\
並點兩下列印機,它會嘗試安裝列印機,然後提示我使用 UAC 類型提示安裝驅動程序。我已經嘗試了所有我能想到的讓該消息框停止彈出的方法。我對其進行了深入研究,發現如果我要編輯一個名為
Point and Print Restrictions
at的 GPOComputer Configuration->Policies->Administrative Templates->Printers
,User Configuration->Policies->Administrative Templates->Control Panel->Printers
您可以嘗試將策略設置為Disabled
或Enabled
選擇Do not show warning or elevation prompt
策略設置底部列出的兩個安全提示。嗯,那也是一個半身像……
我確實發現,如果我嘗試通過轉到 unc 並輸入我的管理員憑據來手動安裝列印機,它將從伺服器下載驅動程序並安裝列印機(如預期的那樣)。如果使用者嘗試刪除列印機並且一旦他們註銷並重新登錄 GPO 就以某種方式成功了,那麼 GPO 將執行我想要的操作並重新添加列印機。但它要求我第一次在每台 PC 上手動添加它。
對此進行測試,然後從 GPO 中刪除列印機,然後註銷並重新打開。我可以執行命令
printui /s /t2
來調出一個 GUI,讓我可以輕鬆地刪除已安裝的驅動程序,從而將 PC 恢復到其原始狀態(要求管理員憑據)。我還了解到,列印機儲存在位於HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Connections
. 當我試圖刪除列印機並且它告訴我不能刪除時,我只是去了那個系統資料庫項並刪除了我試圖刪除的列印機的 GUID 鍵。然後重新啟動 Print Spooler 服務,它就消失了。這無助於讓我到達我想要的地方,但它有助於在調試問題期間移除列印機。我在某處讀到,可能原因是某種類型的 Windows 安全更新改變了一些東西。它的發布是因為有一篇文章展示瞭如果您能夠 pwn 一台列印機,您如何可以 pwn 整個網路。當使用者連接到列印機並下載驅動程序時,它會安裝注入的軟體並在機器上執行,等等……
我的主要目標是能夠使用我正在使用的 GPO 將此列印機部署到此 OU 中的一組使用者。但是我嘗試的所有操作都需要管理員登錄才能執行(至少是第一次)。有誰知道為什麼我的列印機不會通過 GPO 自動添加自己,以及我如何得到那個“你信任這台列印機嗎?” 消息離開?
“修復”是從列印機製造商處下載受信任的、可感知軟體包的列印驅動程序;但是,由於並非所有製造商都會生產這些驅動程序,因此我在這裡找到了一種解決方法:Cannon Forum - Package-Aware Print Drivers(注意:這不適用於未簽名的驅動程序,但有很多教程可供自己使用-簽署列印驅動程序。)
以下是解決此問題的步驟:
- 在列印伺服器上安裝所需的驅動程序
- 請注意“打包”列下列出的所有“錯誤”驅動程序。所有這些都必須修改才能通過組策略進行部署。
- 編輯列印伺服器上的系統資料庫並轉到以下位置:
- 對於 64 位驅動程序: HKLM\System\CurrentControlSet\Control\Print\Enviroments\ Windowsx64 \Drivers\Version- X {Driver Name}
- 對於 32 位驅動程序: HKLM\System\CurrentControlSet\Control\Print\Enviroments\ Windows NT x86 \Drivers\Version- X {Driver Name}
- 其中“X”是列印驅動程序“類型”,通常是“3”或“4”
- 通過將 1 添加到目前設置的任何值來編輯名為“PrinterDriverAttributes”的鍵。(例如:如果目前值為“6”,則將其更改為“7”。)這將使列印伺服器認為這些驅動程序已打包。
- 對未列為“打包”驅動程序的每個驅動程序執行此操作。
- 重新啟動列印伺服器。
- 現在應該通過組策略部署所有內容(前提是您正確配置了所有常用的 GPO 設置)。
我正在自己部署此修復程序;但是,由於它需要重新啟動列印伺服器,我直到今天晚上才能對其進行測試,因為我們的列印伺服器還執行一些網路應用程序。
系統資料庫編輯的替代解決方案是編輯列印機驅動程序 INF 文件並添加以下內容:
對於 32 位驅動程序:
[PrinterPackageInstallation.x86] PackageAware=TRUE
對於 64 位驅動程序
[PrinterPackageInstallation.amd64] PackageAware=TRUE
如果您決定編輯 INF 文件,從列印伺服器中刪除驅動程序,從乾淨的下載中編輯 INF 文件,然後安裝編輯的驅動程序會更容易。
除此之外,請仔細檢查 和 的組策略
Point and Print Restrictions
設置Package Point and print - Approved Servers
。背景資訊
Microsoft 安全公告 MS16-087詳細介紹了一個安全問題,其中流氓列印伺服器可能通過“中間人”式攻擊注入惡意程式碼。安全更新 KB3170455於 2016 年 7 月 12 日發布以修復它,該更新隨後擾亂了列印伺服器的列印驅動程序分發。