[英]Set Terminal Server user default printer at login
我在生產環境中管理一個終端服務器,該服務器為使用同一通用ID連接的許多不同機器提供服務。 使用Cassia庫,我可以輕松地以編程方式捕獲所需的有關遠程連接的所有信息,但是對於如何將打印機更改應用於該用戶,我仍然感到困惑。 我的區別標准是他/他所連接的PC的名稱。 我特別對4台機器感興趣,其余機器將被忽略。
簡而言之,我需要捕獲這些特定PC何時登錄,並為它們的剩余會話設置默認打印機。
在本地級別,以編程方式更改默認打印機沒有挑戰。 我似乎在為從另一台實用程序服務器更改遠程終端服務器上用戶會話的默認打印機而苦苦掙扎。
最簡單的方法是創建一個腳本,該腳本設置為在登錄時運行,並通過WMI將打印機設置為Win32_Printer.SetDefaultPrinter
。
這是一個如何在簡單的3行powershell腳本中執行此操作的示例
$Printers = Get-WmiObject -Class Win32_Printer
$Printer = $Printers | Where{$_.Name -eq 'Name Of Printer To Use'}
$Printer.SetDefaultPrinter()
將其保存在.ps1
文件中,並設置終端服務器策略以在登錄時運行腳本。
如果您不想在腳本中使用固定名稱,則可以很容易地修改它以查詢其他外部源,只需將'Name Of Printer To Use'
替換'Name Of Printer To Use'
包含要連接名稱的變量即可。
Windows Vista / Server 2003及更高版本支持SetDefaultPrinter
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.