win7 と XP の 2 つの OS をセットアップしていますが、どちらも同じワークグループに属しています (いずれもこの方法でドメインに属していません)。
次のコードを使用して、コンピューターのワークグループ名を取得しようとしています:
VB.NET:
Public Function GetWorkGroup() As String
Dim computer_system As New Management.ManagementObject(String.Format("Win32_ComputerSystem.Name='{0}'", Environment.MachineName))
Dim result As Object = computer_system("Workgroup")
Return result.ToString()
End Function
C#:
public string GetWorkGroup()
{
Management.ManagementObject computer_system = new management.ManagementObject(string.Format("Win32_ComputerSystem.Name='{0}'", Environment.MachineName));
object result = computer_system("Workgroup");
return result.ToString();
}
これは Win7 では機能しますが、XP では computer_system("Workgroup") の結果は Nothing になります。機能させたい場合は、次の変更を加える必要があります。
VB.NET:
Dim result As Object = computer_system("Domain")
C#:
object result = computer_system("Domain");
これは Win7 と XP の両方で機能し、正しいワークグループ名を返しますが、XP で Domain プロパティを使用してワークグループ名を返すと明らかに何か問題があります。
XP がワークグループをドメインとして扱う理由を誰か説明してもらえますか? ありがとう。