Printing

終端服務列印機重定嚮導致問題:有替代方案嗎?

  • April 7, 2015

我絕不是終端服務專家,我需要幫助來嘗試讓應用程序在多使用者和多列印機環境中工作。每個使用者都有自己的本地 (USB) 連接列印機。這些中的每一個都以唯一的名稱顯示在 ts 會話中。舊版應用程序只能配置為列印到一台列印機。該配置對使用者來說是全域的,對機器來說是本地的,這對單個工作站來說很好,但在 ts 中卻不是,它顯然對所有使用者都表現為一台機器。

問題是每個登錄使用者的列印機都會發生變化。應用程序不需要列印到預設列印機,而是列印到應用程序中選擇的“特殊”列印機……讓我們稱它為標籤列印機以簡化說明。您有預設的正常列印機,應用程序很容易找到該列印機,然後您有一台可以列印標籤的特殊列印機。應用程序需要知道什麼列印機是標籤列印機。所以我們允許使用者在應用程序中選擇它,並且選擇儲存在 C:\ProgramData\mfgr\prog\setting 文件中的配置文件中

我無權訪問該應用程序,因此無法更改其工作方式或配置的儲存位置。

在“正常”世界中,選擇要使用的標籤列印機驅動程序應該是每台機器,而不是每個使用者。當一個新使用者登錄到一台機器時,物理列印機不會“噗”的一聲,突然出現一台新的列印機。所有使用者使用同一台列印機。

然而在終端服務中,物理機與伺服器上的虛擬機“合併”。所以每個使用者的真機(和真列印機)都被注入到“假”終端服務機中。列印機的名稱對每個使用者都是唯一的。因此,列印機確實會根據登錄終端服務的使用者來“噗”並更改名稱。

因此,使用者“A”登錄並將應用程序設置為列印到“LabelPrinterForUserA”(或列印機的任何名稱),該設置儲存在 ProgramData 子文件夾中,一切都很好。稍後,使用者“B”登錄,當他們列印時,應用程序嘗試列印到使用者 B 不存在的“LabelPrinterForUserA”。如果使用者 B 重新配置,則會為使用者 A 中斷它。

解決方案1:/應該/工作的方式(在我看來)是您在終端服務中定義一個“通用”列印機……稱之為“虛擬標籤列印機”,當使用者列印到它時,列印作業得到重新- 指向實際連接到其本地工作站的任何物理列印機。終端伺服器中有一個映射或設置,它告訴它在作業到達虛擬列印機時為每個使用者使用哪個實際列印機。該應用程序被告知一次為所有使用者列印到“虛擬標籤列印機”。

解決方案 2:或者…應該有某種方法可以使每個使用者的 ProgramData 子文件夾分開。例如,當使用者“A”嘗試訪問:C:\ProgramData\mfgr\prog\setting 文件時,他們實際上得到 C:\UserData\UserA\AppData\mfgr\prog\setting 文件,而使用者“B”得到 C:\UserData\ UserB\AppData\mfgr\prog\setting 文件

所以我的問題是:這些解決方案是否存在隱藏在終端伺服器設置的某個地方?還是有另一種我不知道的解決這個問題的方法?

更新

澄清一下,不只是台列印機。有多個列印機。每個使用者都有一個物理(我們稱之為標籤)列印機 USB 連接到他們的物理工作站。我對管理員的理解是,當使用者安裝他們的列印機時,列印機的名稱必須不同。您是說每個使用者都可以安裝自己的列印機並使用完全相同的名稱嗎?

在終端伺服器上使用舊軟體時,我能感受到您的痛苦……我提出的解決方案肯定無法擴展,因為它需要一些手動配置,但我已經讓這種方法與我們的標籤列印機一起使用(需要列印到 LPT 埠……是的,那個舊的)。

將 USB 連接的列印機共享到每台機器上的網路。然後,讓使用者為他們每個人登錄一個唯一的會話(不能在電腦之間共享 TS 帳戶以使其工作)並安裝指向他們共享的 USB 的網路列印機。嘗試使用 DNS 名稱來說明可能的 DHCP 移動。

之後,它應該工作。每個使用者都可以這樣做,因為只要埠不同(它們是),顯示名稱就可以相同。

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