私はこのトピックの私の理解にはいくつかの欠点があると私は許します。私はドメインとアクティブディレクトリについて知っているのは、私がそれらを扱っていたからです。DNSドメイン名から短い「ドメイン名」を取得するにはどうすればよいですか?
ドメイン名には2つの異なる「バージョン」があります。最初は私がprefixnameようになるcompany.intようになるDNSドメイン名(ユーザー[email protected]用)と第二を呼んで(ユーザーprefixnameの\最大の場合)彼らは両方とも同じことを指すでしょう。
「company.int」を指定すると、「prefixname」に変換するにはどうすればよいですか?
EDIT:または、System.DirectoryServices.ActiveDirectory.Domainオブジェクトを指定した場合、プレフィックス名を取得するにはどうすればよいですか?
EDIT2:また、「プレフィックス名」にはそれ以外の名前がありますか?私はそれを何と呼ぶべきか分からない。
EDIT3:取得しようとしている値は、「ログオン先」(ドメインとコンピュータのリスト)のWindowsログイン画面に表示される値と同じです。
EDIT4:私は、私は以下を実行して値を取得することができます考え出した:
SecurityIdentifier sid = GetCurrentUserSID();
string prefixName = sid.Translate(typeof(NTAccount)).Value.Split('\\')[0];
誰もがこの名前を取得するためのより良い方法を知っていますか?私の知る限り
私はあなたがそれに努力を込めて答えを受け入れましたが、それは技術的には正しいですが、私は別の方法をとってきました。 Environment.UserDomainNameのコードを見て、私がすでに行っていたこと(Account.Value.Split( '\\')[0])が行く方法であることを確信しました。もしあなたが同意しないなら、なぜ私に教えてください。 –
THanks、Max!私は環境変数が正しいドメイン名を保持していると信じています。何らかの理由でそれがクリアされていない限り、古い "DOS"環境に頼ることは、時には少し不安定です - 物事をクリアして削除することができます - 私が照会しているADコンテナは常にそこにあり、あなたが探している真の価値を常に保持します。 –