(.Net,ADSI)UserAccountControlフラグからアカウント有効無効等を調べる方法で使っているユーザアカウントのアカウントコントロールオプション情報を格納するクラスです。(C#3.0)
まぁ、ただのbool型のプロパティをもったクラスっていうだけなんですが。。。
public class User
{
/// <summary>アカウント無効か</summary>
public bool Disable { get; set; }
/// <summary>ログオンスクリプト実行</summary>
public bool Script{ get; set; }
/// <summary>ホームフォルダが必要</summary>
public bool HomeDirReauired { get; set; }
/// <summary>ロックアウトしてる</summary>
public bool LockOut { get; set; }
/// <summary>パスワードが必要ない</summary>
public bool PasswdNotReqd { get; set; }
/// <summary>パスワードが変更できない</summary>
public bool PasswdCantChange { get; set; }
/// <summary>暗号化されたパスワードを送信できる</summary>
public bool EncPasswdAllowed { get; set; }
/// <summary>別のドメインにプライマリ アカウントを持つユーザーが
使用するアカウントです。このアカウントが存在することにより、ユーザーは
このドメインにアクセスできますが、このドメインを 信頼するドメイン
へのアクセスはできません。これはローカル ユーザー アカウントとして
参照される場合があります。</summary>
public bool TempDuplicateAccount { get; set; }
/// <summary>通常のユーザー</summary>
public bool NormalAccount { get; set; }
/// <summary>別のドメインを信頼しているシステム ドメインのアカウントを
信頼することを許可します。</summary>
public bool InterdomainTrustAccount { get; set; }
/// <summary>Microsoft Windows NT 4.0 Workstation、Microsoft Windows
NT 4.0 Server、Microsoft Windows 2000 Professional、または Windows
2000 Server を実行している動作するコンピュータのコンピュータ アカウント
であり、このドメインのメンバです。</summary>
public bool WorkstTrustAccount { get; set; }
/// <summary>このドメインのメンバであるドメイン コントローラのコンピュータ
アカウントです。</summary>
public bool ServerTrustAccount { get; set; }
/// <summary>パスワード無期限</summary>
public bool DontExpirePasswd { get; set; }
/// <summary>MNSログインアカウント</summary>
public bool MnsLogon { get; set; }
/// <summary>スマートカードログイン</summary>
public bool SmartCardRequired { get; set; }
/// <summary>このフラグを設定すると、サービスを実行するサービス アカウント
(ユーザー アカウントまたはコンピュータ アカウント) が Kerberos の委任に対し
て信頼されます。このようなサービスでは、サービスを要求するクライアントを偽装
することができます。サービスで Kerberos の委任を有効にするには、このフラグを
サービス アカウントの userAccountControl プロパティに設定する必要があります。</summary>
public bool TrustedForDelegation { get; set; }
/// <summary>このフラグを設定すると、サービス アカウントが Kerberos の委任
に対して信頼されると設定されていても、ユーザーのセキュリティ コンテキストは
サービスに委任されません。</summary>
public bool NotDelegated { get; set; }
/// <summary>このプリンシパルを、DES (Data Encryption Standard) 暗号化のみを
キーに使用できるように制限します</summary>
public bool UseDesKeyOnly { get; set; }
/// <summary>このアカウントは、ログオン時に Kerberos 事前認証を必要としません。</summary>
public bool DontReqPreauth { get; set; }
/// <summary>ユーザーのパスワードの有効期限が切れています。</summary>
public bool PasswdExpired { get; set; }
/// <summary>このアカウントは委任に対して有効です。これはセキュリティに代わる設
定です。このオプションが設定されたアカウントは厳密に管理する必要があります。こ
の設定を行うと、アカウントで実行されているサービスはクライアントとして識別され、
ネットワーク上の他のリモート サーバーへそのユーザーとして認証されます</summary>
public bool TrustedToAuthForDelegation { get; set; }
}