Как узнать, находится ли локальный компьютер в домене? - PullRequest
20 голосов
/ 10 декабря 2010

Существует ли простой и быстрый способ выяснить, подключен ли локальный компьютер к домену с помощью PowerShell?

Я нахожу много материала о получении текущего домена рабочей группы ИЛИ, нонет четких указаний на то, как узнать, действительно ли это рабочая группа или домен.Просто хочу выяснить это, прежде чем вызывать некоторые связанные с Active Directory вещи, которые дают тайм-аут только после длительного ожидания на компьютерах рабочей группы.

Метод [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() занимает много времени, прежде чем происходит сбой на компьютерах рабочей группы и в классе WMIWin32_ComputerSystem показывает имя, но не если это реальный домен.

Ответы [ 3 ]

35 голосов
/ 10 декабря 2010

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!"
}
1 голос
/ 24 декабря 2015

Это просто.Работает, потому что, если компьютер не находится в домене, доменом пользователя по умолчанию является локальный компьютер

if ($env:computername  -eq $env:userdomain) { echo " no AD domain" } 
else { echo "must be in AD"}
0 голосов
/ 27 января 2019

Может быть, введите «Systeminfo» в PowerShell и посмотрите в «Домене»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...