4

Я хотел бы иметь возможность определить в сценарии, включены ли в Windows Server 2008 определенные функции Windows, и установить их при необходимости. Я не просто хочу использовать подход «попытаться установить компонент, даже если он уже установлен», поскольку мне нужно иметь возможность выполнять дополнительные действия во время установки.

Например, я знаю, что могу установить Службу SNMP с помощью командной строки:

pkgmgr /iu:SNMP

Чего я не знаю, так это как проверить, установлен ли этот пакет, в идеале из VBScript/WMI, но из инструмента командной строки, если это необходимо.

В идеале я также хочу найти решение, не использующее Powershell, поскольку мне не нужно снижать привилегии на выполнение powershell, которые устанавливаются по умолчанию при установке Windows 2008.

3 ответа3

6

Мне кажется, что вы можете сделать это легко с помощью сценария PowerShell (запуск от имени администратора).

Вот пример скрипта powershell, найденного в Интернете:

#Powershell Script To Install SNMP Services
Import-Module ServerManager
#Check If SNMP Services Are Already Installed
$check = Get-WindowsFeature | Where-Object {$_.Name -eq "SNMP-Services"}
If ($check.Installed -ne "True") {
        #Install/Enable SNMP Services
        Add-WindowsFeature SNMP-Services | Out-Null
}

Вы можете найти больше информации о том, как узнать название функции в:
Windows Server 2008 R2: добавление функций через PowerShell

Если WMIC является вариантом, см. Эти статьи:
Советы по новому ядру сервера
Использование новых инструментов Windows Server 2008 Core OCList и OCSetup CLI для добавления и удаления ролей сервера

Если программирование является опцией, см. Эту статью stackoverflow:
Как программно проверить, установлена ли функция сервера в Windows Server 2008?

1

Предлагаемый ответ может быть немного упрощен:

$check = get-windowsfeature -name SNMP-Services
if ($check.Installed -ne "True") {
        #Install/Enable SNMP Services
        Add-WindowsFeature SNMP-Services | Out-Null
}
0

Вот команда powershell, которая отлично работает. Устанавливает службы SNMP (служба SNMP + поставщик WMP SNMP)

Servermanagercmd –install SNMP-Services

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .