如何更改漫遊使用漫遊設定檔的印表機行為

文章翻譯 文章翻譯
文章編號: 304767 - 檢視此文章適用的產品。
重要: 本文包含修改登錄的相關資訊。修改登錄之前請確定它備份起來,並請確定您瞭解如何在發生問題時還原登錄。如如何備份、 還原,以及編輯登錄有關,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
256986Microsoft Windows 登錄的描述
全部展開 | 全部摺疊

在此頁中

結論

根據設計,使用者使用漫遊設定檔時該使用者的預設印表機將使用使用者設定檔漫遊。不過,在某些環境中這可能不是理想的行為。本文提供您可以使用來更改此行為的方法。

其他相關資訊

警告: 如果您未正確使用登錄編輯程式可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 不保證您可以解決因不當使用 「 登錄編輯器 」 的問題。使用 「 登錄編輯程式 」,請自行負擔相關的風險。

重要: 本文中的資訊設計用於公司的系統管理員。您使用任一您環境中本文中所述的方法之前您就應該在測試環境中,徹底測試方法。

印表機設計漫遊使用者的漫遊設定檔,這就是為什麼預設印表機儲存在登錄 HKEY_CURRENT_USER 分支下。若要改變這個行為,使用下列方法之一。

方法 1

匯出某個已安裝的印表機,預設印表機設定,並再合併到使用者的設定檔設定值,當使用者登入電腦時:
  1. 使用 [登錄編輯程式 (Regedit.exe)] 來匯出下列登錄機碼:
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
  2. 修改您在步驟中所做 1 使用文字編輯器,如此就可唯一的登錄值名稱下方索引鍵的登錄 (.reg) 檔案:
    裝置 」 =...
    請注意登錄檔應該包含空白行底部的檔案。
  3. 使用 「 登錄編輯程式 」 (Regedit.exe) 來新增下列登錄機碼下的新 ResetPrinter 字串值:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  4. ResetPrinter 值的值應該類似下列的值
    REGEDIT.EXE-S 路徑 \ File.reg
    您用來儲存預設印表機 File.reg 其中是名稱。

方法 2

如果在特定區域中的電腦包含類似的電腦名稱,您可以使用一個.vbs 指令碼的檔案符合一組特定的電腦] 名稱中字元安裝相對應的印表機。範例程式碼包含在這個方法只會要求您修改 IF 線條。例如程式碼中第一個的 IF 陳述式會轉譯為 「 如果電腦名稱包含的文字是"LAB1-"然後設定 \\LAB1\LaserJet 」 到預設印表機。若要完成這個方法:
  1. 複製下列的範例 VBS 程式碼到一個。vbs 檔案,例如 Defaultprinter.vbs:
    Option Explicit
    DIM RegEntry, ComputerName
    
    RegEntry="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName"
    ComputerName = ReadRegValue(RegEntry)
    
    if InStr(1,ucase(ComputerName),"LAB1-",vbTextCompare) > 0 then call SetPrinter("\\LAB1\LaserJet")
    if InStr(1,ucase(ComputerName),"LAB2-",vbTextCompare) > 0 then call SetPrinter("\\LAB2\LaserJet")
    if InStr(1,ucase(ComputerName),"OFFICE-",vbTextCompare) > 0 then call SetPrinter("\\OFFICE\LaserJet")
    'so on and so forth.
    wscript.quit
    
    ' ***  This subroutine installs and sets the default printer
    Sub SetPrinter(ByVal PrinterPath)
      DIM WshNetwork
      Set WshNetwork = CreateObject("WScript.Network") 
      WshNetwork.AddWindowsPrinterConnection(PrinterPath)
      WshNetwork.SetDefaultPrinter Printerpath
    end sub
    
    ' ****  This function returns the data in the registry value
    Function ReadRegValue(ByVal RegValue)      
      DIM WSHShell
      Set WSHShell = WScript.CreateObject("WScript.Shell")
      ReadRegValue=""
      On Error Resume Next
      ReadRegValue= WSHShell.RegRead(RegValue)
    End Function
    					
  2. 視需要修改 IF 線條。唯一需要修改在 IF 線條部分是雙引號之間。請注意您可能需要加入額外的 IF 線。
  3. 使用 「 登錄編輯器 」 來建立下列登錄機碼下的 ResetPrinter 字串值:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  4. ResetPrinter 值應該類似下列的值
    WSCRIPT.EXE 路徑 \DefaultPrinter.vbs
    位置 路徑 是儲存 Defaultprinter.vbs 檔案位置。

備忘稿

另外,也可以從登入指令檔而不是執行機碼的執行 Defaultprinter.vbs 檔案。兩個本文中所述的方法重設使用者的設定檔設定為列印到預設印表機。而且,如果未正確地執行範例指令碼包含在本文中,您可能需要升級或安裝 Windows 指令碼主機從下列 Microsoft 網站:
http://www.microsoft.com/downloads/details.aspx?FamilyID=01592C48-207D-4BE1-8A76-1C4099D7BBB9&displaylang=en
Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能,但它們不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。

屬性

文章編號: 304767 - 上次校閱: 2007年8月6日 - 版次: 5.5
這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Professional SP1
  • Microsoft Windows 2000 Professional SP2
關鍵字:?
kbmt kbenv kbhowto kbnetwork kbprint KB304767 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:304767
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com