> Kuenhourg's 隨手記事簿: 經由GPO自動安裝Client印表機

2013年11月27日 星期三

經由GPO自動安裝Client印表機

1. 將下列命令存成batch批次檔。
※ 新增網路印表機:
    rundll32 printui.dll,PrintUIEntry /in /q /n "\\(伺服器名稱)\(印表機分享名稱)"
※ 將網路印表機設定為「預設印表機」:
    rundll32 printui.dll,PrintUIEntry /y /q /n "\\(伺服器名稱)\(印表機分享名稱)"
※ 刪除網路印表機:
    rundll32 printui.dll,PrintUIEntry /dn /n "\\(伺服器名稱)\(印表機分享名稱) "

2. 開啟GPO群組原則:
使用者設定 => 指令碼 => 登入 => 滑鼠右鍵選內容 <新增該batch檔>
















3. 進階需求,批次判斷行為與記錄留存:
@echo off
if not exist \\dc\work\PrinterUser.txt goto End  
^== 判斷檔案是否存在,否則跳離

type \\dc\work\PrinterUser.txt |find/I "[%COMPUTERNAME%][%USERNAME%]" > nul 2>&1
^== 查詢對應的電腦名稱與使用者名稱,若有則不再執行新增印表機動作
if %errorlevel% == 0 goto End
rundll32 printui.dll,PrintUIEntry /in /q /n "\\dc\印表機"

echo [%COMPUTERNAME%][%USERNAME%] >> \\dc\work\PrinterUser.txt
^== 新增完印表機則將電腦名稱與使用者名稱寫入txt檔案內
exit
:End
===================================================================
成功寫入後,該txt文字檔案內容如下所示:
[PC24][frank]
[PC36][kate]