0

サーバーがあり、ユーザーがログインすると、ユーザーが権限を持つプリンターをロードするログオンスクリプトが実行されます。これは、GPO を使用して行われます。そのため、ユーザーがログインすると、使用が許可されているプリンターが表示されます。

私がしなければならないことは、これらのプリンターを C# アプリケーションにロードすることです。(objectClass=groupPolicyContainer) フィルターを使用してグループ ポリシー コンテナーのプロパティを列挙しようとしましたが、私 (現在のユーザー) がアクセスできるプリンターを見つけることができません。

4

1 に答える 1

0

そのため、特にWIN32_Printerクラスに WMI を使用できます。

using System.Management;

namespace WMIQuery
{
  class WmiQuery
  {
    static void Main(string[] args)
    {
      /* On the local computer loged as current user
       */
      ObjectQuery oQuery0 = new ObjectQuery(@"select * from Win32_printer where shared=true");
      ManagementObjectSearcher searcher0 = new ManagementObjectSearcher(oQuery0);

      foreach (ManagementObject queryObj in searcher0.Get())
      {
        Console.WriteLine(String.Format("--> {0} ({1})", queryObj["Name"], queryObj["ShareName"]));
      }
    }
  }
}
于 2012-02-28T13:31:44.450 に答える