2010-12-10 10 views
18

簡単に速いローカルコンピュータがPowerShellでドメインに参加しているかどうかを調べる方法はありますか?ローカルコンピュータがドメインに存在するかどうかを確認するには?

私は現在のワークグループまたはドメインを取得することについて多くのことを知っていますが、実際にワークグループまたはドメインであるかどうかを知る方法は明確に示されていません。ちょうどワークグループコンピュータで長時間待ってからタイムアウトするActive Directory関連のものを呼び出す前に、これを見つけてください。

ワークグループコンピュータで[System.DirectoryServices.ActiveDirectory.Domain] :: GetCurrentDomain()が失敗する前に時間がかかるため、WMI Win32_ComputerSystemには名前が表示されますが、実際のドメインではありません。

/当たり

答えて

30

のWin32_ComputerSystemは、コンピュータがドメインに参加しているか否かを示しPartOfDomain性を有します。また、ワークグループプロパティもあります。これは、コンピュータがドメイン上にある場合は空白にする必要があります。

例:

if ((gwmi win32_computersystem).partofdomain -eq $true) { 
    write-host -fore green "I am domain joined!" 
} else { 
    write-host -fore red "Ooops, workgroup!" 
} 
0

これは簡単です。コンピュータがドメインに属していない場合、デフォルトのユーザードメインはローカルコンピュータです

if ($env:computername -eq $env:userdomain) { echo " no AD domain" } 
else { echo "must be in AD"} 
+2

これは、ユーザーがローカルアカウントを使用してログインするか、組み込みのシステムアカウントであるため動作しません。また、ユーザーとコンピュータが同じドメインにない場合、マルチドメイン環境でもこれが失敗します。 – CoinEnablers

関連する問題