Как включить или отключить функции Windows с помощью PowerShell или командной строки в Windows 7?

11

Я выполнил сценарий sysocmgrв Windows XP, servermanagercmdна сервере 2008, и теперь я обнаружил, что мне нужно использовать новый модуль PowerShell servermanagerдля установки функций на Server 2008 R2, и поэтому я ожидаю, что я буду использовать тот же модуль в Windows 7, но это не так там.

Как установить функции Windows с помощью командной строки или PowerShell в Windows 7?

Крис Магнусон
источник
Время наконец предоставило способ использования powershell, мой ответ ниже.
MDMoore313

Ответы:

13
dism.exe /online /?

Кроме того, проверьте http://www.windowsnetworking.com/articles_tutorials/Deploying-Windows-7-Part2.html

Trondh
источник
1
в частности, эта страница MSDN говорит вам использовать команду, подобную этой: dism /online /Enable-Feature /FeatureName:{feature}используйте, /Get-Featuresчтобы перечислить все доступные функции.
Эрик Фальскен
@EricFalsken Теперь это возможно через powershell с использованием модуля dism.
MDMoore313
6

Для истинного опыта PowerShell вам необходимо скачать Windows AIK для 8.0 и использовать dism module. Это найдено в

C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\<arch>\DISM

и вы можете просто указать PowerShell на эту папку с

Import-Module C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment Tools\<arch>\DISM

Убедитесь, что вы заменили <arch> архитектурой машины, на которой работает powershell. Эту папку DISM можно даже скопировать и перераспределить на машины, если это необходимо (говоря о функциональности, я не знаю, разрешено ли перераспределение Microsoft).

Конкретная команда для отказа от дополнительной функции Windows

Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter

Это вернет Microsoft.DISM.Commands.BasicFeatureObject, как видно здесь . Оттуда вы можете установить stateсвойство отключено, как

$(Get-WindowsOptionalFeature -Online | where FeatureName -eq mediacenter).state = 
    [Microsoft.DISM.Commands.FeatureState]::Disabled

и пока, пока медиацентр. Конечно, это должно быть выполнено из привилегированного приглашения, и этот -Onlineпереключатель относится к текущей работающей Windows, а не к автономному образу.

Кроме того , этот модуль требует WMF 3.0 и что требует .NET 4.0, просто FYI.

MDMoore313
источник
1
Я смог запустить Enable-WindowsOptionalFeature -FeatureName NetFx3 -Onlineна компьютере с Windows 8.1 без установки AIK. Я, однако, установил предварительный просмотр WMF5; возможно это обеспечивает это? Модуль загружен сC:\windows\system32\windowspowershell\v1.0\Modules\Dism\Dism.psm1
bshacklett
4

Попытка запустить PowerShell из Windows 7/8 даст вам только следующее:

Get-WindowsFeature. Назначением указанного командлета не может быть клиентская операционная система Windows.

dism это единственный способ, который я нашел, который работает.

n1nj4
источник
2

Добавьте ServerManager-функцию вручную. Затем вы можете добавить servermanager-module:

модуль управления сервером импорта

получить-WindowsFeature


источник
1
Как бы вы добавили функцию ServerManager отдельно?
fschwiet
2
Это будет работать для Windows 2008R2 и новее, но не для Windows 7.
Trondh
2
ocsetup.exe /?

В дополнение к dism, кажется, вы также можете использовать ocsetup, который установлен по умолчанию в Windows Vista и Windows Server 2008. Если вы ищете сценарий для чего-то, что работает во всех трех из них, то, вероятно, это будет путь.

Крис Магнусон
источник
-1

Для части Powershell откройте окно «Модули Windows Powershell» и введите

PS1> Add-WindowsFeature [имя функции]

например

Add-WindowsFeature SMTP-сервер

Get-WindowsFeature показывает названия всех доступных функций

user25572
источник
1
Я уверен, что это работает только на Windows Server 2008 R2.
Джеффри Хикс
Джеффри правильно, это не работает в Windows 7 по умолчанию. Если вы знаете способ заставить его работать, я хотел бы знать.
Крис Магнусон
-1

Вы можете использовать удаленный сеанс из Windows 7 в окно Windows Server 2008 R2 и запустить Add-WindowsFeature. Я не смог найти его на Win7 даже с установленным RSAT.

Джеффри Хикс
источник
1
Разве это не добавит функцию в окно Windows Server 2008 R2, а не в локальный экземпляр Windows 7? Если нет, пожалуйста, объясните.
Крис Магнусон