プリンタが移動プロファイルと共に移動する動作を変更する方法

文書翻訳 文書翻訳
文書番号: 304767 - 対象製品
この記事は、以前は次の ID で公開されていました: JP304767
重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明
すべて展開する | すべて折りたたむ

目次

概要

仕様では、ユーザーが移動プロファイルを使用している場合、そのユーザーの通常使うプリンタの設定はユーザー プロファイルと共に移動します。しかし、環境によってはこの動作が望ましくない場合もあります。この資料では、この動作を変更する方法について説明します。

詳細

警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。

重要 : この資料の内容は、企業内管理者の方を対象としています。この資料で説明している方法を実環境で実行する前にテスト環境で充分にテストすることをお勧めします。

プリンタはユーザーの移動プロファイルと共に移動するように設計されています。これが、通常使うプリンタの情報がレジストリの HKEY_CURRENT_USER ツリーの配下に保存されている理由です。この動作を変更するには、以下のいずれかの方法を実行します。

方法 1

インストール済みのプリンタの通常使うプリンタの設定をエクスポートし、ユーザーのログオン時にその設定をユーザー プロファイルにマージします。
  1. レジストリ エディタ (Regedit.exe) を実行し、次のレジストリ キーをエクスポートします。
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
  2. テキスト エディタを使用して、手順 1. で作成したレジストリ (.reg) ファイルを修正し、キーの下に次の名前のみを残すようにします。
    "Device"=...
    レジストリ ファイルの最終行には空白行が含まれている必要があります。
  3. レジストリ エディタ (Regedit.exe) を実行し、次のレジストリ キーの下に新しい文字列値 ResetPrinter を追加します。
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  4. ResetPrinter 値の例を以下に示します。
    REGEDIT.EXE -S path\File.reg
    File.reg は、手順 1 で保存したファイルの場所と名前です。

方法 2

特定の領域内のコンピュータの名前が類似している場合、.vbs スクリプト ファイルを使用してコンピュータ名の中の特定の文字列に対応するプリンタをインストールすることができます。この方法で説明しているサンプル コードは、IF 行を訂正するだけで使用できます。たとえば、コード内の最初の IF 構文は、コンピュータ名に文字列 "LAB1-" が含まれている場合は通常使うプリンタを "\LAB1\LaserJet" に設定することを意味しています。この方法を使用するには、以下の手順を実行します。
  1. 次の VBS サンプル コードを Defaultprinter.vbs などの .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 行を新しく追加する必要があります。
  3. レジストリ エディタを使用して、次のレジストリ キーの下に文字列値 ResetPrinter を作成します。
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  4. ResetPrinter 値の例を以下に示します。
    WSCRIPT.EXE path\DefaultPrinter.vbs
    path は、Defaultprinter.vbs ファイルの保存先です。

注意事項

Defaultprinter.vbs ファイルは、Run キーではなく、ログオン スクリプトから実行することもできます。この資料で説明している 2 つの方法では、ユーザー プロファイルの通常使うプリンタの設定をリセットします。この資料のサンプル スクリプトを正常に実行できない場合は、下記のマイクロソフト Web サイトから Windows Scripting Host をインストールまたはアップグレードする必要があります。
http://www.microsoft.com/japan/msdn/scripting/default.asp
マイクロソフトは、この情報をプログラミング言語の使用方法の一例として提供するだけであり、市場性および特定目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。この資料は、例示されているプログラミング言語やプロシージャの作成およびデバッグに使用するツールについて理解されているユーザーを対象としています。Microsoft Support 担当者は、特定のプロシージャの機能についての問い合わせにはお答えできますが、ユーザー固有の目的に合わせた機能の追加、プロシージャの作成などの内容変更は行っておりません。

プロパティ

文書番号: 304767 - 最終更新日: 2005年11月21日 - リビジョン: 5.0
この資料は以下の製品について記述したものです。
  • Microsoft Windows 2000 Service Pack 1
  • Microsoft Windows 2000 Service Pack 2
キーワード:?
kbenv kbhowto kbnetwork kbprint KB304767
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

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