2015年10月25日 星期日

使用GPO規則幫使用者自動安裝網路印表機並先判斷是否已安裝過

轉自 http://lms.twivs.tnc.edu.tw/t2710/doc/496

大概的指令:
  • 新增網路印表機:
    rundll32 printui.dll,PrintUIEntry /in /q /n \\(伺服器名稱)\(印表機分享名稱)
  • 將網路印表機設定為「預設印表機」:
    rundll32 printui.dll,PrintUIEntry /y /q /n \\(伺服器名稱)\(印表機分享名稱)
  • 刪除網路印表機:
    rundll32 printui.dll,PrintUIEntry /dn /n \\(伺服器名稱)\(印表機分享名稱)

開啟群組原則管理MMC,啥?!還沒安裝這個好用的工具?!  請到這邊下載安裝 http://www.microsoft.com/downloads/details.aspx?FamilyID=0a6d4c24-8cbd-4b35-9272-dd3cbfc81887&displaylang=zh-tw ,直接安裝在XP下即可管理DC的GPO,安裝完後在程式集 => 系統管理工具 底下就會出現 群組原則管理
1.建立新的GPO規則 自動新增印表機
1 
2
2.對該GPO關閉電腦組態
3
3.開始設定 自動新增印表機 GPO
4

4.使用者 => 指令碼 => 登入 => 滑鼠右鍵選內容
5
5.選 顯示檔案
6
6.建立  ModifyPrinter.bat 批次檔,並編輯輸入新增印表機的指令後存檔
8
7
7.新增剛剛建立好的 批次檔 ,這樣使用者就可以在登入網域時,背景自動安裝對應印表機。
9
10

若不想每次使用者都重覆新增印表機的動作,可在ModifyPrinter.bat 內做判斷:
請先在24h開機的機器上建立分享資料夾,權限要設定好讓使用者能寫入(通常開authenticated users權限即可),在此目錄下建立個空白 *.txt 檔案記錄使用者或電腦明稱。
===============================================================
@echo off
if not exist \\filesrv-vm\gpowork\InstallPrinter-test.txt goto End  <==判斷目錄與檔案是否存在,若不存在就跳離批次檔
@type \\filesrv-vm\gpowork\InstallPrinter-test.txt |find/I "[%COMPUTERNAME%][%USERNAME%]" > nul 2>&1  <==查詢 txt 檔內容是否有對應的電腦名稱與使用者名稱,若有則不再執行新增印表機動作,若沒有則開始新增印表機的動作  if %errorlevel% == 0 goto End
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\HP2015
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\HP2015PS
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\RICOH1045
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\RICOH1045紙夾四
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\支票
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\派車單
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\帳冊
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\報單倉單2
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\報單倉單3
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\發票
rundll32 printui.dll,PrintUIEntry /in /q /n \\prtsrv-vm\傳票
echo [%COMPUTERNAME%][%USERNAME%] >> \\filesrv-vm\gpowork\InstallPrinter-test.txt  <==新增完印表機則將電腦名稱與使用者名稱寫入txt檔案內
exit
:End
==================================================================
txt檔案成功寫入後大概會是長這樣:
========================================
[ROGER-AMD][roger] 
[ROGER-DELPHI-VM][roger] 
[FILESRV-VM][administrator] 
[PC005][gina] 
[PC013][kevin] 
[PC008][kevin] 
[PC009][kate] 
[PC010][rich] 
[PC016][op] 
[PC007][david] 
[PC004][eric] 
=======================================
這樣不同的使用者在相同的電腦上也可以確認使用者能夠新增到印表機。

2 則留言:

  1. 沒想到我的網誌被樓主轉自的網誌原封不動的複製貼上,但他沒標明出處,相較之下,樓主還會標明出處算很有禮貌了,不過沒關係,教學相長,有幫到大家就好。

    回覆刪除