3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(.Net,ADSI)User情報を格納するクラス

(.Net,ADSI)UserAccountControlフラグからアカウント有効無効等を調べる方法で使っているユーザアカウントのアカウントコントロールオプション情報を格納するクラスです。(C#3.0)

まぁ、ただのbool型のプロパティをもったクラスっていうだけなんですが。。。

public class User

{

///

アカウント無効か

public bool Disable { get; set; }

///

ログオンスクリプト実行

public bool Script{ get; set; }

///

ホームフォルダが必要

public bool HomeDirReauired { get; set; }

///

ロックアウトしてる

public bool LockOut { get; set; }

///

パスワードが必要ない

public bool PasswdNotReqd { get; set; }

///

パスワードが変更できない

public bool PasswdCantChange { get; set; }

///

暗号化されたパスワードを送信できる

public bool EncPasswdAllowed { get; set; }

///

別のドメインにプライマリ アカウントを持つユーザーが

使用するアカウントです。このアカウントが存在することにより、ユーザーは

このドメインにアクセスできますが、このドメインを 信頼するドメイン

へのアクセスはできません。これはローカル ユーザー アカウントとして

参照される場合があります。

public bool TempDuplicateAccount { get; set; }

///

通常のユーザー

public bool NormalAccount { get; set; }

///

別のドメインを信頼しているシステム ドメインのアカウントを

信頼することを許可します。

public bool InterdomainTrustAccount { get; set; }

///

Microsoft Windows NT 4.0 Workstation、Microsoft Windows

NT 4.0 Server、Microsoft Windows 2000 Professional、または Windows

2000 Server を実行している動作するコンピュータのコンピュータ アカウント

であり、このドメインのメンバです。

public bool WorkstTrustAccount { get; set; }

///

このドメインのメンバであるドメイン コントローラのコンピュータ

アカウントです。

public bool ServerTrustAccount { get; set; }

///

パスワード無期限

public bool DontExpirePasswd { get; set; }

///

MNSログインアカウント

public bool MnsLogon { get; set; }

///

スマートカードログイン

public bool SmartCardRequired { get; set; }

///

このフラグを設定すると、サービスを実行するサービス アカウント

(ユーザー アカウントまたはコンピュータ アカウント) が Kerberos の委任に対し

て信頼されます。このようなサービスでは、サービスを要求するクライアントを偽装

することができます。サービスで Kerberos の委任を有効にするには、このフラグを

サービス アカウントの userAccountControl プロパティに設定する必要があります。

public bool TrustedForDelegation { get; set; }

///

このフラグを設定すると、サービス アカウントが Kerberos の委任

に対して信頼されると設定されていても、ユーザーのセキュリティ コンテキストは

サービスに委任されません。

public bool NotDelegated { get; set; }

///

このプリンシパルを、DES (Data Encryption Standard) 暗号化のみを

キーに使用できるように制限します

public bool UseDesKeyOnly { get; set; }

///

このアカウントは、ログオン時に Kerberos 事前認証を必要としません。

public bool DontReqPreauth { get; set; }

///

ユーザーのパスワードの有効期限が切れています。

public bool PasswdExpired { get; set; }

///

このアカウントは委任に対して有効です。これはセキュリティに代わる設

定です。このオプションが設定されたアカウントは厳密に管理する必要があります。こ

の設定を行うと、アカウントで実行されているサービスはクライアントとして識別され、

ネットワーク上の他のリモート サーバーへそのユーザーとして認証されます

public bool TrustedToAuthForDelegation { get; set; }

}