是否有一种简单且快速的方式来确定本地计算机是否已使用PowerShell加入域?
我发现很多关于获取当前工作组OR域的内容,但没有明确指示如何知道它是否真的是工作组或域。只是想在调用一些Active Directory相关的东西之前找到它,这些东西只会在工作组计算机上等待很长时间后才会超时。
[System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()
方法在工作组计算机上失败之前需要很长时间,而WMI类Win32_ComputerSystem
显示名称但不是真实域名。
答案 0 :(得分:35)
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 :(得分:1)
这很简单。可行,因为如果计算机不在域中,则默认用户域是本地计算机
if ($env:computername -eq $env:userdomain) { echo " no AD domain" }
else { echo "must be in AD"}
答案 2 :(得分:0)
也许在PowerShell中键入'Systeminfo'并在'Domain'下查看?