Как программно изменить функции в Windows Vista?
-
19-08-2019 - |
Вопрос
Я ищу способ программного изменения функций (" Программы и компоненты " - > " Включение или отключение компонентов 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.
<Ол>В 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. . р>