Как программно изменить функции в Windows Vista? - PullRequest
2 голосов
/ 03 декабря 2008

Я ищу способ программного изменения функций («Программы и компоненты» -> «Включение или отключение функций Windows») в Windows Vista (и более новой ОС Redmond, например, Server 2008).

Идеальное решение будет в форме скрипта Powershell (Get-Features, Set-Features), однако любые указатели на MSDN / другую документацию будут приветствоваться! (мой первый быстрый поиск в Google / StackOverflow оказался пустым).

Наличие автоматического способа включения или выключения функций позволило бы мне автоматизировать настройку компьютера для различных сценариев. Например, для разработки приложений ASP.NET с использованием IIS необходимо установить несколько функций IIS, которые не установлены по умолчанию. Мой текущий процесс «убедитесь, что хотя бы функции, показанные на этом скриншоте отмечены», оставляет желать лучшего.

Ответы [ 5 ]

3 голосов
/ 28 сентября 2011

Я только что нашел расширение, которое работает для Windows 7. «Модуль PowerShell для добавления / удаления функций Windows 7» - https://psclientmanager.codeplex.com/

1 голос
/ 05 февраля 2009

Похоже, что в Powershell V2 на Server 2008 R2 (бета-версия) есть модуль, который делает именно это. Будем надеяться, что Windows 7 также будет иметь эту функцию ...

Подробнее см. Управление функциями сервера с помощью командлетов PowerShell в Windows 2008 Server R2 Beta.

1 голос
/ 15 декабря 2008

в Windows Server 2008, есть команда ServerManagerCmd . Это может установить IIS с или без подфункций, которые вы хотите. Вы также можете установить / удалить большинство основных функций Windows.

  1. Вы можете настроить сервер так, как хотите, а затем запустить ServerManagerCmd -query template.xml. Это экспортирует конфигурацию в файл XML.
  2. Вам необходимо преобразовать файл , чтобы подготовить его для использования на других серверах
  3. Скопируйте преобразованный файл на сервер, который вы хотите настроить, и запустите ServerManagerCmd -inputPath transformTemplate.xml
1 голос
/ 20 декабря 2008

Способ сделать это в Vista и Windows 2008 с помощью инструмента командной строки PKGMGR. Найдите в MSDN этот инструмент, чтобы найти список функций / пакетов.

0 голосов
/ 03 декабря 2008

К сожалению, пока нет набора командлетов, а также нет ничего в WMI или любой другой легкодоступной области. Интересно, что функции управления ролями на основе сценариев Server Core будут работать только на Server Core :). Windows 7 может принести некоторое облегчение в этом отношении - но это также не может. В то же время у вас остались практически все нативные API-интерфейсы Win32, упомянутые в другом ответе.

Кроме того, я должен отметить, что MS намеренно не хочет, чтобы приложения устанавливали основные функции ОС из соображений безопасности. Добавление IIS не является чем-то легким, и оно несет с собой соображения безопасности и ответственность. Посмотрите на собственные настройки приложений MS, которые проверяют подобные предварительные требования, но не предлагают устанавливать их для вас. Хотя я понимаю, что желая сделать настройку вашего приложения максимально безболезненной, необходимо также нанести ущерб при установке основных функций в ОС под чьим-то носом :). Лично я предпочел бы, чтобы приложения ошибались из-за осторожности, скажите мне, что им нужно, и позвольте мне принять решение о том, как и что устанавливать, особенно основные функции, которые открывают порты и могут выполнять произвольный код, например IIS .

...