# Detect if you computer is on domain or workgroup via cim or wmi
Try
{
# Get information via Cim
# PartOfDomain (boolean Property)
$PartOfDomain = Get-CimInstance -Namespace ROOT/cimv2 -ClassName Win32_ComputerSystem | Select-Object PartOfDomain | ft -AutoSize -HideTableHeaders
# WorkGroup (String Property)
$WorkGroup = Get-CimInstance -Namespace ROOT/cimv2 -ClassName Win32_ComputerSystem | select Workgroup | ft -AutoSize -HideTableHeaders
}
Catch
{
# if Get-CimInstance not work, get information via Wmi
# PartOfDomain (boolean Property)
$PartOfDomain = (Get-WmiObject -Class Win32_ComputerSystem -Namespace ROOT/cimv2) | select PartOfDomain | ft -AutoSize -HideTableHeaders
# WorkGroup (String Property)
$WorkGroup = (Get-WmiObject -Class Win32_ComputerSystem -Namespace ROOT/cimv2) | select Workgroup | ft -AutoSize -HideTableHeaders
}
if (!$PartOfDomain)
{
Write-Output "Domain"
}
Else
{
if (!$WorkGroup)
{
Write-Output "Error Wmi\Cim filter"
break
}
Else
{
Write-Output "Workgroup"
}
}