Print Scheduler サービスのエラー:システムにログオンしているユーザーがいないため、インタラクティブな BarTender を開始できませんでした。
症状
Integrationから印刷する際に、以下のような問題が発生する場合があります。
- Integrationが断続的に停止する。
- Integrationからラベルが断続的に印刷されない。
- Integrationから印刷時に「アクセスが拒否されました」などのエラーメッセージが表示される。
Print Schedulerサービスのログ(C:\ProgramData\Seagull\Services\Integrations\Service)には、次のエラーメッセージが記録されます:
|ERROR|システムにログインしているユーザーがいないため、対話型のBarTenderを開始できませんでした。
上記のメッセージと一緒に発生する主なエラーメッセージは以下の通りです:
- 「'x' へのアクセスが拒否されました」または「アクセスが拒否されました」
- 「スレッドが中断されました」
環境
BarTender 2019以降。
Integration Builderまたはデプロイ済みIntegrationからの印刷。
診断方法
- Print Schedulerサービスのテキストログ(C:\ProgramData\Seagull\Services\Logging)でエラーメッセージを確認します。
- Integration BuilderでIntegrationを開き、すべての印刷アクション(例:Print Document、Print Command Script、Print BTXML Scriptなど)の印刷オプションタブを確認し、データ入力を促すのチェックボックスがオンになっているか確認します。
考えられる解決策
解決策1 - Integrationの印刷アクションで「データ入力を促す」のチェックを外す
Integrationから印刷する際に、対話型ダイアログ(例:データ入力フォーム)でエンドユーザーの入力が不要な場合は、Integration内のデータ入力を促すのチェックを外すことをおすすめします。
-
- この変更を適用する前に、必ずテストを行ってください。
解決策2 - BarTender Print Schedulerサービスにユーザーアカウントを指定する
通常、BarTender Print Schedulerサービスはローカルシステムとして実行することを推奨しています。サービスはユーザーの偽装を利用しており、Integrationファイルでユーザーアカウントが指定されている場合、そのアカウントとしてローカルシステムアカウントで実行されます。ローカルシステムアカウントで実行することで、サービスは他のアカウントとして動作できます。(BarTenderサービスと権限)
ただし、Integrationから印刷する際に対話型ダイアログでエンドユーザーの入力が必要な場合は、現在ログインしているユーザーが必要なファイル、プリンター、システムリソースにアクセスできることを確認する必要があります。
このような場合は、Windowsのサービス管理コンソールでBarTender Print Schedulerサービスと、Integrationの印刷アクションの両方に、以下の条件を満たすアカウントを指定してください:
- ローカル管理者権限を持っている
- ドメインレベルのアクセス権がある(ネットワークリソースにアクセスする場合)
- パスワードが変更されない
BarTender Print Schedulerサービスにユーザーアカウントを設定する方法:
- Windowsのサービスを開きます。
- BarTender Print Schedulerを右クリックし、プロパティを選択します。
- ログオンタブを選択します。
- このアカウントを選択し、ユーザー名とパスワードを入力します。
-
適用をクリックし、OKをクリックします。
- BarTender Print Schedulerサービスを右クリックし、再起動を選択してサービスを再起動します。
Integration Builderで印刷アクションにユーザーアカウントを設定する方法:
- Integration BuilderでIntegrationファイルを開きます。
- Integrationの印刷アクション(例:Print Document、Print BTXML Script、Print Command Scriptなど)を選択します。
- 印刷アクションのアクションタブを選択します。
-
ユーザー認証情報を指定するを選択し、WindowsサービスのBarTender Print Schedulerサービスで指定したものと同じユーザー名とパスワードを入力します。
- テストタブで変更内容をテストし、問題なければデプロイタブでIntegrationを再デプロイして、本番環境に反映します。
社内向け情報