みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ネットワークプリンタのIPアドレス変更

社内のIPアドレスを変更することになり、その影響で各クライアントに設定されているプリンタのIPアドレスも変更しなくてはいけません。
一台ずつ設定して回るのは、難しいので、ログオンスクリプトで対応できないかと考えています。
どのように記述すれば行えるでしょうか?
また、ほかによい方法があれば教えていただけるでしょうか?
環境: Server:windows server 2003 r2,Client:windows 7とxp混在。
(Active Directoryを運用しています)
よろしくお願いいたします

投稿日時 - 2013-09-11 13:41:37

QNo.8259216

すぐに回答ほしいです

質問者が選んだベストアンサー

プリンタの設定変更は結構厄介ですね。
実際に実施していないので確実な保証は出来ませんがこんな感じで出来るのではないかと思います。

>一台ずつ設定して回るのは、難しいので、ログオンスクリプトで対応できないかと考えています。

ログオンスクリプトで実施する場合には、ログオンユーザーの権限とWindows7の場合はUACを考慮しなければなりません。
ログオンユーザーに管理者権限が無い場合はコマンドに資格情報を記載するなどの対応が必要になると思います。
この場合スクリプトに権限のあるユーザーとパスワードが記載されることになります。
(移行作業中の期間限定でドメインユーザーを作成し、制限されたグループなどで管理者権限を与えるなどが考えられます)

あと、プリンタ名が端末ごとまちまちだとそもそもスクリプトでの変更がなりたちませんので注意が必要です。

設定は大きく2つ必要です。
(1)新しいIPアドレスのプリンタポートを新規作成
(2)プリンタが新しいプリンタポートを使用するよう変更

(1)は
Prnport.vbs でプリンタポートを作成します。
以下を参考にして、旧IPアドレスのポートとIPアドレス以外が同じ設定のプリンタポートを作成します。
http://technet.microsoft.com/ja-jp/library/cc754352(v=ws.10).aspx

WinodwsXPとWindows7でPrnport.vbsの格納場所が若干異なるので注意して下さい。
OSを判定してパスを変える必要があると思います。
(スクリプト内でもグループポリシーでWMIフィルタやOUを分けるなどで対応は問題ないでしょう)

(2)は
WMIにてプリンタの割り当てられているポートを変更します。
以下を参考にして下さい。
http://www.wmifun.net/sample/vb6/win32_printer_f.html

なお、これはVB6のサンプルでVBSのサンプルが現在移行準備中となっていてありません。
VB6のサンプルからVBスクリプトを起こす必要があります。(ほかのWebサイトに良いサンプルがあるかもです)

こちらのWin32_Printer クラスのリファレンスをみればわかりますが、
要は、Nameプロパティが該当のプリンタ名のプリンタでPortNameを設定すれば良いだけなのでWMICコマンドでも何とかなりそうに思います。
(WMICは資格情報を指定するオプションがありますのでこちらのほうがいいかも)

http://www.wmifun.net/library/win32_printer.html

WMICの説明はこちら

http://www.atmarkit.co.jp/fwin2k/win2ktips/1011wmicbasic/wmicbasic.html


グループポリシーの基本設定でも出来るかもしれませんがXPがネックになりますね。

投稿日時 - 2013-09-12 17:04:21

お礼

ものすごく助かりました。
ありがとうございした

投稿日時 - 2013-09-13 10:01:44

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問