グループ ポリシー 新しいユーザー プロファイルの作成時にプリンターの基本設定で既定のプリンターの設定に失敗する

この記事では、グループ ポリシープリンターの基本設定で既定のプリンターの設定が失敗する問題の回避策について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 2787598

現象

グループ ポリシー環境設定を使用して新しいプリンター マッピングを作成し、既定のプリンターとしてそのプリンターを設定すると、Windows Vista 以降のクライアントでユーザーが初めてログオンするときに失敗します。 プリンターマッピングは正常に作成されますが、レジストリの既定のプリンターとして設定されていません。 プリンター環境設定トレースには、次のエラーが表示されます。

<VALUE>プリンター名が無効です。</VALUE></PROPERTY>-</INSTANCE>
イベント ID 4098 は、アプリケーション ログに記録されます。
ログ名: アプリケーション
ソース: グループ ポリシー プリンター
Date: <DateTime>
イベント ID: 4098
タスク カテゴリ: (2)
レベル: 警告
キーワード: クラシック
ユーザー: SYSTEM
コンピューター: server.fabrikam.com
説明:
'プリンターの定義 {XXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}' グループ ポリシー オブジェクトのユーザー 'HP Printer' 基本設定項目は、エラー コード '0x80070709 プリンター名が無効です" で失敗したため、適用されませんでした。 このエラーは抑制されました。

原因

グループ ポリシー基本設定では、ネットワーク プリンター マッピングが作成され、ユーザーのログオンが完了する前に SetDefaultPrinterW() API が呼び出されます。 この時点で、Software\Microsoft\Windows NT\CurrentVersion\Devices の下のネットワーク接続はまだ作成されていません。 そのため、SetDefaultPrinterW() API を呼び出すと、"プリンター名が無効です" 0x80070709エラー コードで失敗します。

プリンター接続レジストリの値は、SERVICE_CONTROL_SESSIONCHANGE通知を受信した場合にのみ、スプーラー サービスによって作成されます。 この通知メッセージは、ユーザーのログオンが完了した後にのみ送信されます。 そのため、グループ ポリシー Preferences が SetDefaultPrinterW() を初めて呼び出すと、既定のプリンターは設定されません。

解決方法

現在、この問題に使用できる修正プログラムはありません。 考えられる回避策は次のとおりです。

  1. コマンドを使用してログオン後にグループ ポリシーを強制的に更新するGPUPDATE /FORCE
  2. ユーザーログオン後に印刷スプーラー (スプーラー) サービスを再起動する
  3. スケジュールされたタスクを使用してログオン後にスクリプトを実行し、既定のプリンターを定義する
  4. レジストリ環境設定を使用して既定のプリンターを構成する

データ収集

Microsoft サポートからの支援が必要な場合は、「 TSS for User Experience の問題を使用した情報の収集」に記載されている手順に従って情報を収集することをお勧めします。