.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();
}