I am wondering, if there is a local user account with the specified account name would it get resolved before or after any domain account with the same name?
3 に答える
Translate
メソッドが呼び出されたときに SID の解決が行われ、
http://msdn.microsoft.com/en-us/library/system.security.principal.ntaccount.translate.aspx。
を使用NTAccount(string)
してインスタンスを初期化し、分離された名前 (ドメインなしの名前) を指定すると、LsaLookupName2 を呼び出す SID ルックアップ コード (逆コンパイルの方法を知っている場合) によって解決が決定されます。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms721798(v=vs.85).aspx
孤立した名前を翻訳するには
1. 名前が Local や Interactive などの既知の名前である場合、関数は対応する既知のセキュリティ識別子 (SID) を返します。
2.名前が組み込みドメインの名前である場合、関数はそのドメインの SID を返します。
3.名前がアカウント ドメインの名前である場合、関数はそのドメインの SID を返します。
4.名前がプライマリ ドメインの名前である場合、関数はそのドメインの SID を返します。
5.名前が信頼できるドメインの名前の 1 つである場合、関数はそのドメインの SID を返します。
6.名前が組み込みドメインのユーザー、グループ、またはローカル グループ アカウントである場合、関数はそのアカウントの SID を返します。
7.名前がローカル システムのアカウント ドメイン内のユーザー、グループ、またはローカル グループ アカウントである場合、関数はそのアカウントの SID を返します。
8.名前がプライマリ ドメインのユーザー、グループ、またはローカル グループの場合、関数はそのアカウントの SID を返します。
9.プライマリ ドメインを調べた後、関数はプライマリ ドメインの信頼できる各ドメインを調べます。
10.それ以外の場合、名前は翻訳されません。
アカウント名は、BUILTIN\xxx または COMPUTERNAME\xxx または DOMAINNAME\xxx のいずれかで完全修飾する必要があります (xxx@FQDN の UPN 形式も使用できます)。
これにより、SID (ローカル マシンのユーザー/グループまたは LSA 経由のドメイン) を取得しようとしたときにウィンドウが表示される場所が決まります。
translate メソッドには、失敗する可能性のある多くの方法があることに注意してください。ネットワークやドメイン コントローラを失った場合に奇妙なことをするように準備しておいてください。