Получить реальные значения переменных среды на удаленном компьютере в .NET

Я пытаюсь получить фактические значения из переменных среды .
Вот что у меня есть:

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"]);
}

Это работает, но вот проблема: передача 'windir' в качестве имени получает '% SystemRoot%' в качестве значения . На самом деле мне нужен фактический путь , то есть «C: \ Windows».

Я попробовал , используя рекурсию , чтобы получить значение «SystemRoot» , но совпадений не найдено.

Как я могу убедиться, что возвращаются реальные значения ?
Thx!

7
задан abatishchev 29 August 2011 в 13:51
поделиться