Я создаю большой пакетный скрипт для проверки установленных компонентов (компонентов) 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
A
ответ
-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);
}
Получение ошибки здесь – cmluciano
Смотрите, что служба удаленного реестра на компьютере и работает. – PowerShell