как обнаружить только домены Windows 2003 из домена - PullRequest
0 голосов
/ 07 марта 2012

Рассмотрим домен всех компьютеров на базе Windows. с этих компьютеров я хочу обнаруживать только компьютеры с Windows Server 2003.

У меня есть все имена машин всех машин в домене. тогда как определить версию ОС по имени машины. Я использовал Environment.OSVersion, чтобы получить версию для локального компьютера. Как получить версию ОС удаленного компьютера, если я знаю имя удаленного компьютера?

1 Ответ

0 голосов
/ 07 марта 2012

Вы можете использовать WMI (Инструментарий управления Windows) для доступа к экземпляру класса Win32_OperatingSystem на удаленном компьютере.

using (var mc = new ManagementClass(@"\\" + computerName + @"\root\cimv2:Win32_OperatingSystem"))
{
    foreach (var obj in mc.GetInstances())
    {
       if (((bool)obj.Properties["Primary"].Value))
       {
          int productType = (int)obj.Properties["ProductType"].Value;
          string version = obj.Properties["Version"].Value.ToString();
          bool isServer = (productType == 2 || productType == 3); // "Domain Controller" or "Server

          if (version == "5.2.3790" && isServer)
          {
             // "Caption" should contain something like "Microsoft(R) Windows(R) Server 2003..."
             // Please resist parsing that, however.                  
             Console.WriteLine(obj.Properties["Caption"].Value);
          }
       }
    }
 }

Подробнее о свойствах и доступных значениях см. В MSDNстраницы для Win32_OperatingSystem класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...