我设置了两个操作系统,一个是win7和一个XP,它们都在同一个 WORKGROUP 中(没有一个在域中这样)
我正在尝试使用以下代码获取计算机的WorkGroup名称:
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”)导致无效。 如果我想让它工作,我必须做出以下修改:
VB.NET:
Dim result As Object = computer_system("Domain")
C#:
object result = computer_system("Domain");
这适用于Win7和XP,提供正确的工作组名称,但如果我在XP上使用Domain属性返回工作组名称,那么就会出现问题。
有人可以解释一下,为什么XP会把它的工作组作为一个域来处理?感谢。