- PR -

VC#でActiveDirectoryを操作するには

1
投稿者投稿内容
はな
常連さん
会議室デビュー日: 2002/12/19
投稿数: 28
投稿日時: 2003-06-20 12:00
こんにちは。
いつもお世話になっております。

現在、VS.NETを使用しC#で開発しています。
ActiveDirectoryの操作をするコンソールプログラムを作成しようとしています。
DirectoryEntryを使用し、検索など簡単なプログラムは作成できました。

さらに、LdapPathを自動で作成するため、ドメイン名を取得したいのです。
ADSystemIndfoで取得じゃないの?と言われたのですが・・・。
自分で調べた限り、完全なドメイン名を取得できません。

何かよい方法があれば、教えていただければと思います。
参考書などでもよいです。
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-06-22 10:22
あまり良い方法とは思いませんが...

Microsoft.Win32.RegistryKey hklm_key = Microsoft.Win32.Registry.LocalMachine;
Microsoft.Win32.RegistryKey key = hklm_key.OpenSubKey(@"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters");
Console.WriteLine(key.GetValue("Domain"));

一応、取得できますので、最後の回避策としてどうでしょうか?

# WMIを使用するのが正当だと思うのですが...使い方がよくわかりません...

[ メッセージ編集済み 編集者: なな 編集日時 2003-06-22 10:27 ]
はな
常連さん
会議室デビュー日: 2002/12/19
投稿数: 28
投稿日時: 2003-06-23 15:54
回答ありがとうございます。

レジストリから取得するのはちょっと・・・なのですが、
やはり単純に取得となるとこの方法なのかと思っています。

http://support.microsoft.com/default.aspx?scid=kb;ja;303902

でも、実行してみると、完全修飾ではなく、ホスト名しか取得できないのです。
なぜでしょうか?
はな
常連さん
会議室デビュー日: 2002/12/19
投稿数: 28
投稿日時: 2003-06-23 16:25
自己レスです。

すみません。
取得できました。

System.Net.Dns.GetHostByName("LocalHost").HostName

お騒がせしました。

(でも、端末によって取得できないのはなぜだろう・・・)
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-06-23 18:22
取得できてなによりです。(^.^)

うまく取得できるPCと、取得できないPCで、
ipconfig /all
の表示に差異はありませんか?
なな
ぬし
会議室デビュー日: 2003/06/22
投稿数: 659
お住まい・勤務地: 愛知県
投稿日時: 2003-07-08 13:14
localhostよりもこちらの方が安全そうです。

http://www.atmarkit.co.jp/fdotnet/dotnettips/033hostname/hostname.html
はな
常連さん
会議室デビュー日: 2002/12/19
投稿数: 28
投稿日時: 2003-07-09 10:36
ななさん、情報ありがとうございます。
早速、試してみました。
うまくいきました。こちらのほうが確実ですね。

(今は、コンピュータのセキュリティ設定に悩まされてます・・・)
1

スキルアップ/キャリアアップ(JOB@IT)