workgroup名の取得方法


.Net C#でworkgroup名を取得する方法です。
日本語でググると Marshal を利用した方法がトップに出るのですが、Windows10では保護されたメモリ領域へのアクセスとして例外エラーが生じます。

以下からの引用の一部改変(usingなしでOKな記述に変更)ですが、載せておきます。
https://stackoverflow.com/questions/2708610/how-can-i-get-the-workgroup-name-of-a-computer-using-c

        public static string GetWorkGroupName()
        {
            System.Management.ManagementObject computer_system = new System.Management.ManagementObject(
                        string.Format(
                        "Win32_ComputerSystem.Name='{0}'",
                        Environment.MachineName));

            object result = computer_system["Workgroup"];
            return result.ToString();
        }