新しいクライアント・コンピュータを追加する場合や新しいユーザーをネットワークに追加する場合など、利用可能なプリンタの設定は煩わしい作業の1つだろう。モノクロ・レーザーやカラー・レーザー、カラー・インクジェットなど、用途に応じて複数のプリンタを選択可能にしている場合には、各プリンタの場所を確認してインストールし、デフォルトのプリンタ(デフォルトの出力先になるプリンタ)を設定しなければならない。WSHを利用して、あらかじめプリンタの設定用スクリプトで準備しておけば、そのような面倒な設定作業を効率化できる。AddWindowsPrinterConnectionメソッドとAddPrinterConnectionメソッドは、ネットワーク上のプリンタへの接続を行うメソッドである。AddWindowsPrinterConnectionメソッドは、コントロール・パネルの「プリンタとFAX」でプリンタを追加するのと同様に、Windowsベースの接続を行う。この方法でプリンタを接続すれば、以後はWindowsアプリケーションから印刷できるようになる(Windowsアプリケーションの「印刷」ダイアログに表示されるようになる)。AddPrinterConnectionメソッドでは、MS-DOSベースのプリンタ接続を行う。MS-DOSベースのプリンタ接続とは、コマンド・プロンプトの「LPT1」などのプリンタ・ポートにプリンタを接続することだ。ここで接続したプリンタへの印刷は、コマンド・プロンプトからprintコマンドなどを利用して行う。[プリンタとFAX]ダイアログWindowsベースのプリンタ接続状況はこの画面で確認できる。NT、2000、XP、2003上からWindowsベースの接続を行うには、単にプリンタのUNC名をAddWindowsPrinterConnectionメソッドに渡すだけでよい。次のコードで「\\Server\Printer1」というプリンタに接続を行うことができる。95、98、MeではプリンタのUNC名だけでなくドライバ名を指定する必要があるが、この連載では説明しない。これらの詳細が必要なら、MSDNライブラリを参照されたい。"\\Server\Printer1"AddPrinterConnectionメソッドを利用してMS-DOSベースの接続を行うには、プリンタのUNC名に加え、接続するポート名を指定する。MapNetworkDriveメソッド同様、省略可能な第3、第4、第5パラメータで、プロファイル設定の記録(TrueまたはFalse)と、接続先のユーザー名、パスワードを指定できる。use」コマンドを実行するか、後述するEnumPrinterConnectionsを利用したスクリプトなどを使う。次の例では、プリンタ・ポートに「LPT2」を指定している。——RemovePrinterConnectionメソッドは、ネットワーク・プリンタを切断するメソッドである。ユーザー・プロファイル情報の削除RemovePrinterConnectionのパラメータ*パラメータ指定を省略した場合の選択肢RemoveNetworkDrive同様、第2、第3パラメータは省略可能である。このメソッドはAddWindowsPrinterConnection、AddPrinterConnectionのどちらを利用した接続でも切断することができる。AddWindowsPrinterConnectionを使用して接続したプリンタを切断するにはプリンタ名としてプリンタのUNC名を指定し、AddPrinterConnectionを使用して接続した場合には接続の際に設定したポート名を指定する。第2パラメータにはプリンタが使用中だった場合の処理方法(True=強制切断する、False=強制切断しない)を、第3パラメータにはプロファイル設定から接続情報を削除するかどうか(True=削除する、False=削除しない)を指定する。この2つのパラメータが省略された場合には、いずれもFalseとして処理される。次にRemoveNetworkDriveを使用したコードのサンプルを挙げておく。——EnumPrinterConnectionsメソッドは、ネットワーク・プリンタの一覧を返すメソッドである。EnumNetworkDrivesと同様に、ローカル名とUNC名を交互に格納したコレクションが返される。0番目、2番目、4番目など偶数番目のアイテムがローカル名、1番目、3番目、5番目など奇数番目のアイテムがUNC名となる。次のサンプルはネットワーク・プリンタの個数とそれぞれの接続先を表示する。Next実行結果は以下のようになる。enumprinter.vbsネットワーク・プリンタは3個あります。——SetDefaultPrinterメソッドは、デフォルトのプリンタを変更するメソッドである。印刷時に明示的にプリンタを指定しなければ、デフォルトのプリンタが使用される。MS-DOSベースのプリンタ接続では、デフォルトのプリンタを設定することはできないので、このメソッドは、AddWindowsPrinterConnectionで接続したプリンタか、手作業で接続したWindowsベースのプリンタ接続でのみ利用できる。使い方は、プリンタのUNC名を指定するだけである。次のコードは、\\Server\Printer1をデフォルトのプリンタに指定する。——ComputerName、UserDomain、UserNameの各プロパティを利用すると、スクリプトを実行しているコンピュータの名前と、スクリプトを実行しているユーザーのドメイン・ユーザー名を取得できる。WshNetworkオブジェクトで取得できる情報はこの3つだけだ。Interface)を利用する必要がある。典型的な用途としては、UserNameプロパティで、スクリプトを実行するユーザーによって処理を切り替えるなどがあるだろう。これら3つのプロパティは読み取り専用で、データを変更することはできない。objNetwork.UserNameこの例は、コンピュータ名とドメイン名、ユーザー名を単に出力するだけのコードである。実行すると次のような情報が得られる。userinfo.vbsDAPC21D-ADVANTAGEtomo-kD:\WSH>ユーザーによって処理を切り替えるには、次のようにする。この例では、「tomo-k」というユーザーが実行したときのみネットワーク・ドライブの設定を行う。If今回はWshNetworkオブジェクトについて解説した。次回はWshControllerオブジェクトの解説を行う。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。