it-swarm-eu.dev

Comment savoir si l'ordinateur local est dans un domaine?

Existe-t-il un moyen simple et rapide de savoir si l'ordinateur local est associé à un domaine avec PowerShell?

Je trouve beaucoup de choses sur l'obtention du domaine actuel du groupe de travail OR, mais aucune indication claire sur la manière de savoir s'il s'agit vraiment d'un groupe de travail ou d'un domaine. Je veux juste le savoir avant d'appeler des éléments liés à Active Directory qui ne donnent qu'un délai d'attente après une longue attente sur les ordinateurs du groupe de travail.

La méthode [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() met longtemps à échouer sur les ordinateurs du groupe de travail et la classe WMI Win32_ComputerSystem indique le nom, mais pas s'il s'agit d'un domaine réel.

20
Per Salmi

Win32_ComputerSystem a une propriété PartOfDomain qui indique si l'ordinateur est lié au domaine ou non. Il existe également une propriété de groupe de travail - qui doit être vide si l'ordinateur est sur un domaine.

Exemple: 

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

C'est simple Fonctionne parce que si un ordinateur ne fait pas partie d'un domaine, le domaine d'utilisateur par défaut est l'ordinateur local.

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

Peut-être tapez-vous 'Systeminfo' dans PowerShell et cherchez-vous sous 'Domaine'?

0
HKofoed