Подтвердить что ты не робот

Как узнать, находится ли локальный компьютер в домене?

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

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

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

4b9b3361

Ответ 1

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!"
}

Ответ 2

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

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

Ответ 3

Может быть, введите "Systeminfo" в PowerShell и посмотрите в разделе "Домен"?