- PR -

スクリプトでPCがドメインに参加しているかを確認する方法

1
投稿者投稿内容
highkick
常連さん
会議室デビュー日: 2006/01/19
投稿数: 39
投稿日時: 2007-03-12 16:03
WindowsXP Pro とWindows 2000 において、WSH等を利用してPCがドメインに参加しているかどうかをPC上で確認することは可能でしょうか?


Set WScNet = CreateObject("WScript.Network")
DomainComputerName = WScNet.ComputerName
DomainDomainName = WScNet.UserDomain
DomainUserName = WScNet.UserName

上記のようなスクリプトで、ログオンしているユーザーのドメイン名やコンピュータ名を取得できますが、(DomainComputerName <> DomainDomainNameであればドメインにログオン中)ローカルにログオンしてスクリプトを実行すると、DomainDomainNameがコンピュータ名になってしまう為、PCのドメイン参加状況がわかりません。
他の方法WSHやレジストリの状況でPCがどこかのドメインに参加しているかどうかを確認する方法はありませんでしょうか?ご存知のかたがいらっしゃいましたら、ご教示願います。
ぴよこ
ベテラン
会議室デビュー日: 2006/12/11
投稿数: 61
投稿日時: 2007-03-12 16:40
ふと、思いついた所では、
ADのComptersコンテナに対象のPCがあるかチェックするのでは駄目かなと。
PC名の使いまわししてる環境だとだめか・・。
highkick
常連さん
会議室デビュー日: 2006/01/19
投稿数: 39
投稿日時: 2007-03-12 17:10
ぴよこさん、ご回答ありがとうございます。

やりたいこととしては、ドメインに参加しているかどうかを判別して、参加していれば、そのドメインに対応するユーザーを使って、netdom removeコマンドでドメインからの離脱をさせようと考えています。

ドメインからの強制離脱がスクリプトやコマンドで可能であれば、参加の有無にかかわらず強制で離脱できるので参加状況を判別する必要はないんですが・・・
highkick
常連さん
会議室デビュー日: 2006/01/19
投稿数: 39
投稿日時: 2007-03-12 21:41
自己レスですが、調査したところ、下記のレジストリの値からドメイン参加状況が確認できそうです。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\CachePrimaryDomain

もし、この値はあてにならない・・という情報をお持ちの方がいらっしゃいましたら、情報を提供願います。
1

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