在.NET中的远程计算机上获取环境变量的真实值

Dav*_*vid 7 .net c# windows wmi environment-variables

我试图让实际值的环境变量.
这是我到目前为止:

string query = string.Format("Select VariableValue From Win32_Environment Where Name = '{0}'", variableName);

using (var searcher = new ManagementObjectSearcher(query))
using (ManagementObject result = searcher.Get().Cast<ManagementObject>().FirstOrDefault())
{
    if (result != null)
    return Convert.ToString(result["VariableValue"]);
}
Run Code Online (Sandbox Code Playgroud)

这是有效的,但问题在于:将'windir'作为名称获取'%SystemRoot%'作为值.我真正想要的是实际路径,即'C:\ Windows'.

我尝试使用递归来获取'SystemRoot'的值,但没有找到匹配项.

如何确保返回真实值?
谢谢!

Sch*_*chu -2

使用Environment.GetFolderPath(Environment.SpecialFolder.System)

  • 问题标题说在远程计算机上。 (2认同)