Я написал сценарий против sysocmgr
в Windows XP, servermanagercmd
в server 2008, и теперь я обнаружил, что мне нужно использовать новый модуль PowerShell servermanager
для установки функций на Server 2008 R2, поэтому я ожидал, что буду использовать тот же модуль в Windows 7, но его там нет.
Как установить компоненты Windows с помощью командной строки или PowerShell в Windows 7?
dism.exe /online /?
также проверьте http://www.windowsnetworking.com/articles_tutorials/Deploying-Windows-7-Part2.html
Для правда 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
Убедитесь, что вы заменили <арка> с архитектурой машины, на которой работает 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, просто к сведению.
Попытка запустить PowerShell из Windows 7/8 даст вам только следующее:
Get-WindowsFeature: целью указанного командлета не может быть клиентская операционная система Windows.
dism
это единственный способ, который работает.
Добавьте ServerManager-функцию вручную. Затем вы можете добавить модуль servermanager:
модуль импорта servermanager
get-windowsfeature
ocsetup.exe /?
Похоже, что помимо удаления вы также можете использовать ocsetup который устанавливается по умолчанию в Windows Vista и Windows Server 2008. Если вы хотели написать сценарий, который работает во всех трех из них, то это, вероятно, будет подходящим вариантом.
Для части Powershell откройте приглашение «Модули Windows Powershell» и введите
PS1> Add-WindowsFeature [название функции]
например
Добавить-WindowsFeature SMTP-сервер
Get-WindowsFeature показывает названия всех доступных функций
Вы можете использовать удаленный сеанс из Windows 7 в окно Windows Server 2008 R2 и запустить Add-WindowsFeature. Мне не удалось найти его на Win7 даже с установленным RSAT.