0

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 がワークグループをドメインとして扱う理由を誰か説明してもらえますか? ありがとう。

4

0 に答える 0