![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
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
※※※※※※※※※※※※※※※※※※※※※※※※
のような感じです。
お願い致します。
No.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.追加したプリンタに、セキュリティ情報を復元。
【注意】
セキュリティ情報に保存・復元される内容は、設定されているすべてのユーザのものになります。
展開するセキュリティ情報を作るときに、不要なユーザが混ざらないように気をつけてください。
No.1
- 回答日時:
こんにちは。
>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」のアクセス許可の「プリンタの管理」と「ドキュメントの管理」にもチェックが入っている状態にしたいのですが…。
やったことが無いのでわかりませんが、ちょっと調べてみます。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
コマンドプロンプトをクリック...
-
バッチファイル 文字列にスペ...
-
コマンドプロンプトで、特定の...
-
シェルの「:コマンドが見つか...
-
AccessVBAから差し込みWORD起動...
-
findstrでヒットした1行前の文...
-
シェルスクリプト内のcdで、カ...
-
コマンドプロンプトでファイル...
-
ftpコマンド出力結果の取得
-
バッチファイルを使ってテキス...
-
SSH接続でwindowsサーバのコマ...
-
シェル(sh)で実行コマンドを標...
-
ftpコマンドを実行すると「425 ...
-
コマンドプロンプトを最小化し...
-
コンピュータ名をファイル名に...
-
VBSでタイマー
-
Pythonで単純にファイルを結合...
-
sedコマンドで改行コードを削除...
-
【ファイルの同一性確認のため...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
ftpコマンドを実行すると「425 ...
-
ショートカットをデスクトップ...
-
コマンドプロンプトをクリック...
-
シェルの「:コマンドが見つか...
-
バッチファイルを使ってテキス...
-
findstrでヒットした1行前の文...
-
コマンドプロンプトで、特定の...
-
AccessVBAで実行時間を指定する...
-
コマンドプロンプトでファイル...
-
コマンドプロンプトのバッチで...
-
DOSコマンドで指定日数よりも過...
-
AccessVBAから差し込みWORD起動...
-
Pythonで単純にファイルを結合...
-
バッチファイルでのMACアドレス...
-
フォルダ、ファイル操作に最適...
-
バッチえファイルを編集するに...
-
2つ目の「pause」は無効?
おすすめ情報