トップ回答者
[SYSTEM]アカウントで[prnmngr.vbs]を使用したプリンタの追加が行えない。

質問
-
お世話になっております。
サードパーティ製のソフトウェアでクライアントへプリンタ作成バッチを配布しようとしましたが、
----------------------------------------------------------------------------------------
バッチ実行時に以下エラーが発生します。
プリンターを構成することができません 大阪5 エラー 0x80041003 アクセスは拒否されました
操作 PutInstance
プロバイダー Win32 Provider
説明 アクセスが拒否されました。
Win32 エラー コード 5-----------------------------------------------------------------------------------------
手動ではバッチ正常終了するため、権限周りに問題があると考えました。
-----------------------------------------------------------------------------------------
色々と調査したところ、サードパーティ製のソフトウェアは[SYSTEM]権限でバッチを実行するようで、
試しにタスクスケジューラを使って[SYSTEM]権限でバッチを実行したところ、同様のエラーが発生しました。
バッチの中身は以下です。
なお、[prnport.vbs]および[prndrvr.vbs]は[SYSTEM]権限で実行しても成功します。
cscript prnport.vbs -a -r <<ポート名>> -h <<IPアドレス>> -o raw -n 9100
cscript prndrvr.vbs -a -m <<プリンタドライバ名>> -v 3 -i <<プリンタドライバパス>>
cscript prnmngr.vbs -a -p <<プリンタ名>> -m <<プリンタドライバ名>> -r <<ポート名>>-----------------------------------------------------------------------------------------
ローカルの[SYSTEM]権限で[prnmngr.vbs]を含んだバッチを実行する方法をご教示いただけますでしょうか。
以上、よろしくお願い致します。
回答
-
作成元のサードパーティーに確認してみてはどうでしょうか。このコマンドがサポートされているか、SYSTEMアカウント以外で実行させることはできないか、など。
プリンタの導入処理はユーザーに紐づく設定が必要な処理が予想されるので、一部Systemアカウントでの実行が考慮されていない可能性があります。
例えば以下の事例では通常のユーザーであれば持っているはずのレジストリがSystemアカウントにはないため、エラーとなってしまうケースです。
[PRB] ASP から呼び出したときに、COM オブジェクトが印刷に失敗する
https://support.microsoft.com/ja-jp/help/184291/com-objects-fail-to-print-when-called-from-aspあるいは、prmmgr.vbs の実行オプション -u と -w を指定したらうまくいくでしょうか。
Prnmngr.vbs
https://technet.microsoft.com/ja-jp/library/cc725868%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年6月14日 4:54
- 回答としてマーク magamin 2017年6月19日 0:23
すべての返信
-
作成元のサードパーティーに確認してみてはどうでしょうか。このコマンドがサポートされているか、SYSTEMアカウント以外で実行させることはできないか、など。
プリンタの導入処理はユーザーに紐づく設定が必要な処理が予想されるので、一部Systemアカウントでの実行が考慮されていない可能性があります。
例えば以下の事例では通常のユーザーであれば持っているはずのレジストリがSystemアカウントにはないため、エラーとなってしまうケースです。
[PRB] ASP から呼び出したときに、COM オブジェクトが印刷に失敗する
https://support.microsoft.com/ja-jp/help/184291/com-objects-fail-to-print-when-called-from-aspあるいは、prmmgr.vbs の実行オプション -u と -w を指定したらうまくいくでしょうか。
Prnmngr.vbs
https://technet.microsoft.com/ja-jp/library/cc725868%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2017年6月14日 4:54
- 回答としてマーク magamin 2017年6月19日 0:23