如何更改与漫游配置文件漫游的打印机的行为

文章翻译 文章翻译
文章编号: 304767 - 查看本文应用于的产品
重要提示: 本文包含有关修改注册表的信息。在修改注册表之前,请务必对其进行备份,并确保您了解如何还原注册表发生问题。有关如何备份、 还原,和编辑注册表单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986在 Microsoft Windows 注册表的说明
展开全部 | 关闭全部

本文内容

概要

通过设计,当用户使用一个漫游配置文件时该用户的默认打印机漫游用户配置文件。然而,在某些环境这可能不是所需的行为。本文提供了可用于改变此行为的方法。

更多信息

警告: 如果注册表编辑器使用不当可能会导致严重的问题,可能会要求您重新安装操作系统。Microsoft 不能保证可以解决问题所产生的错误地使用注册表编辑器。使用注册表编辑器需要您自担风险。

重要提示: 这篇文章中的信息由公司的管理员为使用而设计。在使用任何一种在您的环境中本文中介绍的方法之前,您应该全面测试该方法,在测试环境中。

打印机漫游用户的漫游配置文件与设计的这是默认打印机存储在注册表的注册表分支下的原因。若要改变此行为,使用下列方法之一。

方法 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
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 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