Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

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

<Ол>
  • Вы можете настроить сервер так, как хотите, а затем запустить ServerManagerCmd -query template.xml. Это экспортирует конфигурацию в файл XML.
  • Вам необходимо преобразуйте файл , чтобы подготовить его для использования на других серверах
  • Скопируйте преобразованный файл на сервер, который вы хотите настроить, и запустите ServerManagerCmd -inputPath transformTemplate.xml
  • В Vista и Windows 2008 это можно сделать с помощью инструмента командной строки PKGMGR. Найдите в MSDN этот инструмент, чтобы найти список функций / пакетов.

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

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

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

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top