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

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

点击这里察看该文章的英文版: 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 ExplicitDIM RegEntry, ComputerNameRegEntry="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 printerSub SetPrinter(ByVal PrinterPath)  DIM WshNetwork  Set WshNetwork = CreateObject("WScript.Network")   WshNetwork.AddWindowsPrinterConnection(PrinterPath)  WshNetwork.SetDefaultPrinter Printerpathend sub' ****  This function returns the data in the registry valueFunction 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 网站: Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。Microsoft 支持工程师可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。

警告:本文已自动翻译

属性

文章 ID:304767 - 上次审阅时间:08/06/2007 05:59:08 - 修订版本: 5.5

Microsoft Windows 2000 Professional SP1, Microsoft Windows 2000 Professional SP2

  • kbmt kbenv kbhowto kbnetwork kbprint KB304767 KbMtzh
反馈