Active-Directory

如何擺脫“您信任此列印機”消息框並通過 GPO 添加我的列印機?

  • April 17, 2018
  • 工作站: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 Restrictionsat的 GPO Computer Configuration->Policies->Administrative Templates->PrintersUser Configuration->Policies->Administrative Templates->Control Panel->Printers您可以嘗試將策略設置為DisabledEnabled選擇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(注意:這不適用於未簽名的驅動程序,但有很多教程可供自己使用-簽署列印驅動程序。)

以下是解決此問題的步驟:

  1. 在列印伺服器上安裝所需的驅動程序
  2. 請注意“打包”列下列出的所有“錯誤”驅動程序。所有這些都必須修改才能通過組策略進行部署。
  3. 編輯列印伺服器上的系統資料庫並轉到以下位置:
  • 對於 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. 通過將 1 添加到目前設置的任何值來編輯名為“PrinterDriverAttributes”的鍵。(例如:如果目前值為“6”,則將其更改為“7”。)這將使列印伺服器認為這些驅動程序已打包。
  2. 對未列為“打包”驅動程序的每個驅動程序執行此操作。
  3. 重新啟動列印伺服器。
  4. 現在應該通過組策略部署所有內容(前提是您正確配置了所有常用的 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 日發布以修復它,該更新隨後擾亂了列印伺服器的列印驅動程序分發。

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