方法1
$str = (Get-ChildItem -Path env: | Where-Object {$_.NAME -eq "USERDNSDOMAIN"}).value
$str = $str.ToLower()
Write-Host($str)
解説
1行目で大文字で取得してから2行目で小文字に変更
方法2 「Win32_ComputerSystem」を使用
$CompInfo = Get-WmiObject -NameSpace root\CIMV2 -Class Win32_ComputerSystem
switch($CompInfo.PartOfDomain){
$true {
$DomainType = "ドメイン"
$DomainName = $CompInfo.Domain
}
$false {
$DomainType = "ワークグループ"
$DomainName = $CompInfo.Workgroup
}
default {
$DomainType = "不明"
$DomainName = "不明"
}
}
echo $DomainType" : "$DomainName
(Get-WMIObject Win32_ComputerSystem).Domain
解説
取得する情報
・ドメインまたはワークグループ
・ドメインまたはワークグループ名
(Get-WMIObject Win32_ComputerSystem).PartOfDomain
これがTrueを返せばドメインのメンバ、Falseを返せばワークグループにいるということになります。
方法3
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parametersにあるレジストリ値「Domain」が空白ならワークグループ、文字が入っていたらドメインの方法もあり。
Get-ItemPropertyValue "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" "Domain"
コメント