2011-02-03 12 views
2

私はADと通信C#アプリケーションを作成し、私はプリンタがプロパティと、コードのその部分からrestictedされているかどうかを取得したいここ私はまた、Active Directory内のプリンタ制限されているか、いない

deSearch.Filter = String.Format("(&&&(objectClass=printQueue)(printerName={0})(location={1})(driverName={2})))", queueName,location,modelNumber); 
      SearchResultCollection results = deSearch.FindAll(); 
foreach (SearchResult result in results) 
      { 
string Description = result.Properties["description"][0].ToString().Trim(); 
//how I can get here if this printer is restricted or not 

} 

を取得プリンタ属性のnTSecurityDescriptor属性を検出しました。プリンタが制限されているかどうかはわかりませんか? .NET Frameworkの下

その3.5

すべてのアイデアは、私はあなたがそれを使用するサンプルがありますSystem.Drawing.Printing.PrintingPermissionhereを使うべきだと思う

+0

「プリンタが制限されています」という意味はどういう意味ですか? – Oleg

+0

@Oleg:ユーザーが印刷を許可し、制限された手段で印刷を拒否する方法。 –

+1

正確なユーザートークンをプリンタのセキュリティ記述子と照合する必要がある場合。 'AccessCheck'関数を参照してください(http://msdn.microsoft.com/en-us/library/aa374815(VS.85).aspxを参照)。ここの例を参照してくださいhttp://msdn.microsoft.com/en-us/library/aa379648(VS.85).aspx。 'GetEffectiveRightsFromAcl'(http://msdn.microsoft.com/en-us/library/aa446637(VS.85).aspxを参照)のような他のAPIを使うこともできます。それはあなたが必要とするものですか? – Oleg

答えて

0

を歓迎しています。

+0

リンクがActive Directoryからプリンタを取得しませんでした –