プロが教えるわが家の防犯対策術!

VBS【プリンタドライバのインストール・設定】

プリンタの変更に伴い、数十台のパソコンにドライバをインストールし、
設定しなおさなければならなくなりました。

パソコンはuser権限のため、
管理者でログインしなおしてもよいのですが、
時間短縮のため、user権限のまま、
ワンクリックでインストール、設定できるようなスクリプトが作れたらいいかな?と思っています。

で、以下のように書き、管理者のパスワードを入力しても、
エラーは出ませんが、インストールができません。
初心者なので、基本的なところが、間違っているのかもしれませんが…。

どこが悪いのか、
またどこを直したらよいか、
これよりもいい方法がある、とか教えて頂けたらと思います。
プリンタが変更なだけで、IPはそのままですので、
ポートは既にあります。(例P0.0.0.0)

あともう一つ、やりたいことが、インストール出来た後に、
「プロパティ」「セキュリティ」タブの「Everyone」のアクセス許可の「プリンタの管理」と「ドキュメントの管理」にもチェックが入っている状態にしたいのですが…。

よろしくお願いいたします。

※※※※※※※※※※※※※※※※※※※※※※※※
Option Explicit

Dim WshShell
Dim install

install = "rundll32 printui.dll,PrintUIEntry /if /b ""プリンタ名"" /f ""infファイルがある場所"" /r ""P0.0.0.0"" /m ""モデル名"""

install = "runas /user:ドメイン名\管理者名 ""install"""

Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run install

※※※※※※※※※※※※※※※※※※※※※※※※
のような感じです。
お願い致します。

A 回答 (2件)

こんにちは。



>あともう一つ、やりたいことが、インストール出来た後に、
>「プロパティ」「セキュリティ」タブの「Everyone」のアクセス許可の「プリンタの管理」と「ドキュメントの管理」にもチェックが入っている状態にしたいのですが…。

以下のコマンドで、プリンタのセキュリティ情報をファイルに保存できます。
以下を実行すると、printerのセキュリティ情報がfile.datに保存されます。
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" s


以下のコマンドで、プリンタのセキュリティ情報をファイルから復元します。
以下を実行すると、file.datのセキュリティ情報がprinterに復元されます。
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s


手順を簡単に纏めると
1.Everyoneのアクセス許可の「プリンタの管理」、「ドキュメントの管理」にチェックを入れる。
2.セキュリティ情報をファイルに保存。
3.追加したプリンタに、セキュリティ情報を復元。

【注意】
セキュリティ情報に保存・復元される内容は、設定されているすべてのユーザのものになります。
展開するセキュリティ情報を作るときに、不要なユーザが混ざらないように気をつけてください。
    • good
    • 0

こんにちは。



>Option Explicit
>
>Dim WshShell
>Dim install
>
>install = "rundll32 printui.dll,PrintUIEntry /if /b ""プリンタ名"" /f ""infファイルがある場所"" /r ""P0.0.0.0"" /m ""モデル名"""
>
>install = "runas /user:ドメイン名\管理者名 ""install"""
>
>Set WshShell = Wscript.CreateObject("Wscript.Shell")
>WshShell.Run install
WindowsXPで上のスクリプトを実行してみました。DOS画面が一瞬表示されて消えました。

このスクリプトで実行されるコマンドは、以下になります。
runas /user:ドメイン名\管理者名 "install"
プリンタ追加コマンドではなく、installというコマンドを実行しようとしています。


管理者でプリンタ追加を実行するコマンドを書いて見ました。
バッチファイルにすれば、プリンタを追加する目的を達成できると思います。
runas /user:ドメイン\管理者名 "rundll32 printui.dll,PrintUIEntry /if /b \"プリンタ名\" /f \"infファイルがある場所\" /r \"ポート名\" /m \"プリンタモデル名\""

【例】
runas /user:domain\administrator "rundll32 printui.dll,PrintUIEntry /if /b \"Test Printer\" /f \"%windir%\inf\oem10.inf\" /r \"lpt1:\" /m \"EPSON PM-A750\""


>あともう一つ、やりたいことが、インストール出来た後に、
>「プロパティ」「セキュリティ」タブの「Everyone」のアクセス許可の「プリンタの管理」と「ドキュメントの管理」にもチェックが入っている状態にしたいのですが…。
やったことが無いのでわかりませんが、ちょっと調べてみます。


よろしくお願いします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!