WMI を使用して、ドメイン管理者としてラボ マシンに接続しています。次に、次のコマンド ラインを実行してプリンターを作成します。
cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -a -p Test002 -m "Canon Inkjet iP100 series" -r FAKE002
それはうまくいきます。
次に、次のコマンド ラインを実行して、プリンターを既定として設定します。
cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -t -p Test002
それはまったく機能しません。
関連する詳細:
- どちらのコマンドラインも同じ方法で実行されます
- 2 番目のコマンド ラインは、WMI を使用してローカル スコープで実行すると正常に動作します
- スクリプトを実行しているユーザーには、マシンの管理者権限があり、デフォルトのプリンターを手動で設定できます
- リモートスコープを作成しているユーザーパラメーターは、ドメイン管理者に属しています。
- スクリプトをリモートで実行すると、成功が報告されます。エラーは見られません。
リモート WMI を使用して呼び出されたときに、パラメーターが異なる同じスクリプトが機能しない理由について、私は完全に困惑しています。数時間かけて検索しましたが、適切な答えが見つかりませんでした。
リモートマシンに接続しているスコープを作成するために使用している方法は次のとおりです。
public static ManagementScope CreateScope() {
string nameSpace = @"\\" + Parameters.FQDN + @"\root\cimv2";
ManagementPath path = new ManagementPath(nameSpace);
ConnectionOptions Connection = new ConnectionOptions();
Connection.Username = Parameters.User; // Username value includes the domain
Connection.Password = Parameters.Password;
Connection.Impersonation = ImpersonationLevel.Impersonate;
return new ManagementScope(path, Connection);
}
2 番目のコマンド ラインでリモート マシンのプリンタがデフォルトのプリンタに設定されない理由を教えてください。