2012-10-15 1 views
1

Я создаю большой пакетный скрипт для проверки установленных компонентов (компонентов) Windows на сервере Windows 2003. Я не могу понять, как запрашивать роли сервера и отображать все вспомогательные функции роли в оболочке cmd. Это легко сделать в Windows Server 2008, просто используя servermanager.exe или WMI, но я не могу понять, какую программу или cmd использовать в Windows 2003. Windows Server 2003 имеет установленную оболочку питания, но она просто выглядит как прославленная CMD-оболочка в этой версии ОС Windows. Кто-нибудь знает о подобной утилите или cmd, которые могут быть использованы специально в окне Windows 2003? Спасибо за ваше время.WindowsServer 2003 cmd проверить установленные роли

ответ

-1

Вы можете попробовать эту функцию

function Get-InstalledComponents($computer = '.') { 
    $components_installed = @(); 

    $reg_paths = @('SOFTWARE\Microsoft\Windows\CurrentVersion'` 
      + '\Setup\Oc Manager\Subcomponents'); 
    $reg_paths += @('SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion'` 
      + '\Setup\Oc Manager\Subcomponents'); 

    $hkey = 'LocalMachine'; 
    $reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey($hkey, $computer); 
    foreach ($reg_path in $reg_paths) { 
     $reg_key = $reg.OpenSubKey($reg_path); 
     if ($reg_key -eq $null) { 
      continue; 
     } 
     $names = $reg_key.GetValueNames(); 

     foreach ($name in $names) { 
      $value = $reg_key.GetValue($name); 
      if ($value -gt 0) { 
       $components_installed += @($name); 
      } 
     } 
     $reg_key.close(); 
    } 
    $reg.close(); 

    if ($components_installed.count -lt 1) { 
     trap { ; 
     continue } $features = @(get-wmiobject -class 'Win32_ServerFeature' ` 
        -computer $computer -erroraction 'Stop'); 

     foreach ($feature in $features) { 
      $components_installed += @($feature.name); 
     } 
    }  

    return ($components_installed | sort); 
} 
+0

Получение ошибки здесь – cmluciano

+0

Смотрите, что служба удаленного реестра на компьютере и работает. – PowerShell

 Смежные вопросы

  • Нет связанных вопросов^_^