- Get-Windows Feature
- Syntax
- Description
- Examples
- EXAMPLE 1
- EXAMPLE 2
- EXAMPLE 3
- EXAMPLE 4
- EXAMPLE 5
- Parameters
- Powershell — установка ролей и компонентов Windows
- Install-WindowsFeature
- Enable-WindowsOptionalFeature
- Включение и отключение компонентов Windows 10
- Работаем с Windows Features
- Управление Features on Demand (FOD)
- Установка и переустановка пакетов языков (Language Interface Packs, LIP)
Get-Windows Feature
Gets information about Windows Server roles, role services, and features that are available for installation and installed on a specified server.
Syntax
Description
The Get-WindowsFeature cmdlet gets information about features that are both available for installation and already installed on a computer that is running Windows Server 2012 R2 or an offline virtual hard disk (VHD) that is running Windows Server 2012 R2.
Examples
EXAMPLE 1
This example gets a list of features that is available and installed on the target computer named Server1. The credentials for user user1 in the Contoso.com domain, a user who has Administrator rights on Server1, are provided.
EXAMPLE 2
This example returns a list of features that is available and installed on the specified offline VHD located at D:\ps-test\vhd1.vhd.
EXAMPLE 3
This example returns a list of available and installed features that have a command ID starting with AD or Web.
EXAMPLE 4
This example returns a list of features installed on a specified server, Server01.
EXAMPLE 5
This example returns a list of features on a specified server, Server01, that have installation files removed from the local side-by-side store, and require an external file source for installation.
Parameters
Gets the list of available rrsandf_plural from the specified remote computer that is running Windows Server 2012 R2. The parameter accepts only one computer name. If this parameter is not added, or no computer name is specified, the default target is the local computer. Valid values for the parameter include a NetBIOS name, an IP address, or a fully qualified domain name of a remote computer.
To use a remote computer’s IP address as the value of this parameter, your command must include the Credential parameter. The computer must either be configured for HTTPS transport, or the IP address of the remote computer must be included in the WinRM TrustedHosts list on the local computer. For information about adding a computer name to the WinRM TrustedHosts list, see «How to Add a Computer to the Trusted Host List» in about_Remote_Troubleshootinghttp://go.microsoft.com/fwlink/p/?LinkID=135188.
Type: | String |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies a user account that has access rights to perform this action. If the parameter is not added, or no value is specified, the default value of this parameter is the current user. Enter a user name in one of the following formats. Quotation marks are optional.
— «UserName» — «Domain\User» — «User@Domain.com» — A Credential object returned by the Get-Credentialhttp://go.microsoft.com/fwlink/p/?LinkID=113311 cmdlet.
If a user name is entered, then a prompt for a password is displayed.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies a name and path to a log file. Add this parameter if the results of this cmdlet must be stored in a log.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the command IDs of roles, role services, or features about which to return information.
Type: | String [ ] |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies the path to an offline VHD. The path can either point to a VHD file, or to a location on which the VHD is already mounted by using Deployment Image Servicing and Management (DISM) tools.
The VHD can be on a local disk on the target computer, or on a network shared folder. If the VHD is in a network shared folder, then the value of this parameter is a UNC path to the VHD. In this case, the computer account of the computer that you are using to mount the VHD must have read and write permissions (Read/Write permissions in the File Sharing dialog box, or Full Control on the Security tab of the folder Properties dialog box) on the shared folder, or the VHD will not be accessible. Local loopback UNC paths are not supported. Use either of the following formats for the computer account: DOMAIN\SERVERNAME$ or SERVERNAME$.
Add the ComputerName parameter to specify the target computer you want to use to mount the VHD. If the ComputerName parameter is not specified, then the local computer is used. The computer that you are using to mount the VHD must be running Windows Server 2012 R2. Any local path, such as D:\myFolder, that is specified by using this parameter is always relative to the target computer.
Powershell — установка ролей и компонентов Windows
Навигация по посту
Для установки ролей и компонентов в Powershell у нас есть 2 командлета и каждый со своими особенностями. Первый WindowsFeature и второй WindowsOptionalFeature (этот пойдет на замену dism).
Т.е. в 2008 R2 эти командлеты работать будут. В Win 7 скорее всего тоже, но зависит от версии powershell.
Install-WindowsFeature
Этот командлет идет как альтернатива Server Manager и может установить все эти же роли и компоненты. Работает ли он не на серверной версии, а например с установленным RSAT — не проверял, но скорее всего да. Один из плюсов этой команды, что мы можем установить роль сразу на множество машин. Для получения всех ролей и компонентов запустим:
Если мы хотим получить не такой большой вывод, а более конкретную роль или компонент, то сделаем так:
Способ выше будет фильтровать по колонке Name (на рис.2) — это имя нужно для установки. Если мы хотим фильтровать по полному названию или состоянию роли (установлена или нет), то нужно выполнить другие команды.
Если мы хотим получить роли по полному имени — выполним команду:
Где Light — это имя сервиса. Звездочки по обе стороны говорят, что до и после могут находиться еще символы.
Если хотим получить статус роли (колонка 3) сделаем такой запрос:
Отобразятся все установленные роли.
Далее выполним установку:
Можно и так, но плохая практика т.к. может быть несколько ролей с вхождением *DNS*:
Где:
-Name — имя роли с колонки 2 на рисунке.
-IncludeAllSubFeature — говорит о том, что по умолчанию будут включены все необходимые роли и компоненты. Если вдруг забыли включить, то можно и после, по крайне мере у меня все работало на тестовых стендах, но такой вариант не очень хорошая практика.
-IncludeManagementTools — установка компонентов интерфейса.
Причем если установка уже была произведена, то переустановки или похожих действий не будет.
Для установки на удаленном компьютере можно выполнить:
-ComputerName — имя компьютера или IP
Если установка на другом компьютере будет под другим пользователем:
-Credential — логин пользователя
Для удаления роли или компонента используется:
Если у нас есть какие-то сомнения в работе команд выше, то мы можем использовать ключ -WhatIF, который дословно «что если я исполню эту команду». Т.е. мы ничего не поломаем, узнаем нужна ли будет перезагрузка, какие компоненты будут доустановлены и будет ли ошибка. Пример:
Ключ -Verbose установит компонент с детальным отображением процесса:
Далее нужно будет настраивать роль. Для каждой роли и компонента он свой. Например для создания леса делаем Install-ADDSForest.
Через эту команду можно установить сервисы и на VHD диск или множество ролей с XML файла.
Enable-WindowsOptionalFeature
Этот командлет включен в клиентские редакции Windows и серверные, он устанавливает компоненты через powershell. Если сравнивать с работой через интерфейс команда аналогина этому окну:
Для получения всех компонентов выполняем:
-Online говорит, что пакеты будут искаться на этом же компьютере. Можно поставить -Path и указать путь до образа Windows что бы увидеть другие пакеты.
Что бы отфильтровать вывод по имени:
Фильтруем по статусу:
Для того, что бы включить компонент нужно выполнить:
Если хотим отключить — меняем глагол:
Обычно я использую WindowsOptionalFeature для подготовки Nano сервера т.к. там нет WindowsFeature и пакеты с ролями сначала импортируются, а затем доустанавливаются.
Включение и отключение компонентов Windows 10
Как известно, Windows 10 отличается набором компонентов от предыдущих версий операционных систем Windows. Зачастую требуется их включить или выключить, чтобы они не потребляли системные ресурсы, да и просто не мешали. В этой статье мы рассмотрим как это сделать быстрее и эффективнее.
Начнем с того, что существует два основных способа работы с компонентами (они еще называются features) — утилита DISM и командлеты Powershell. И то и другое встроено в Windows 10, в отличие от Windows 7, где dism можно было добавить или установив пакет Windows ADK, или руками скопировав dism.exe с другого компьютера.
Сразу отмечу, что утилиту dism и среду powershell для работы с системой необходимо запускать от имени администратора, даже если ваш аккаунт уже находится в группе локальных админов. Итак, вы или находите cmd или windows powershell в меню и, кликнув правой кнопкой мышки, выбираете «Запуск от имени администратора».
В Windows 10 есть понятие Features и Capabilities. Первое — это привычные нам компоненты, которые можно найти в Панели управления -> Программы и компоненты -> Включение и отключение компонентов Windows. То есть это встраиваемые модули, которые выполняют определенный сервисный функционал.
Capabilities — это дополнительные возможности, которые расширяют возможности интерфейса и увеличивают удобство пользователя. Среди них — Language packs, наборы шрифтов. Да, Microsoft удалил часть нестандартных шрифтов, которые теперь вынесены в опциональные компоненты. Скачать эти компоненты можно в виде ISO файла с сайта Volume Licensing Service Center или напрямую через Internet и графический интерфейс Windows. Такую концепцию Microsoft назвала Features on Demand (FOD). Их в более ранних версия Windows не было.
Работаем с Windows Features
Итак, список установленных компонентов можно посмотреть командой
Dism /online /Get-Features
Вот как в Powershell можно получить список всех компонентов командлетами Get-WindowsFeature (для Windows Server) или Get-WindowsOptionalFeature (Windows 10):
Чтобы получить список отключенных компонентов, введите:
Get-WindowsOptionalFeature -Online | ? state -eq ‘disabled’ | select featurename
Этот список также можно вывести в файл (для windows Server):
Get-WindowsFeature | Where-Object <$_.Installed -match “True”>| Select-Object -Property Name | Out-File C:\Temp\WindowsFeatures.txt
Посмотрев список названий и их состояние, можно использовать эти названия для того, чтобы компоненты включить или выключить:
Dism /online /Enable-Feature /FeatureName:TFTP /All
ключ /All позволяет включить также все дочерние компоненты;
Установка компонентов через Powershell выполняется командой Enable-WindowsOptionalFeature.
Enable-WindowsOptionalFeature -Online -FeatureName RSATClient-Roles-AD-Powershell
Параметр -All включает все дочерние компоненты.
Dism /online /Disable-Feature /FeatureName:TFTP
Аналогично, через Powershell это можно сделать командой Disable-Windowsoptionalfeature -online -featureName [feature name].
Обратите внимание, некоторые фичи имеют разные названия в Windows 7 и Windows 10. Например, RSAT в Windows 7 — это RemoteServerAdministrationTools, а в Windows 10 — RSATclient.
Управление Features on Demand (FOD)
Если вы устанавливаете их через графический интерфейс, то вам необходимо пройти “System –> App & features –> Manage optional features” и нажать знак + напротив необходимых компонентов.
Чтобы сделать это автоматизированно через командную строку, наберите чтобы получить список доступных компонентов:
DISM.EXE /Online /Get-Capabilities
или на Powershell:
Как и прежде, запомните название необходимых вам компонентов, чтобы включить их командой (на примере .Net Framework 3):
DISM.EXE /Online /Add-Capability /CapabilityName:NetFx3
или на Powershell:
Add-WindowsCapability –Online -Name NetFx3
Если же у вас нет доступа в Интернет, то есть выход. Итак, вы скачиваете ISO образ диска с FOD компонентами с сайта Volume Licensing Service Center. Файлы будут разные для разных релизов Windows 10 — 1511, 1607, 1703, 1709. Важно помнить, что компоненты одного релиза не подходят к другому. Если вы сделаете in-place upgrade (установка одного релиза поверх другого через обновление), то несовместимые установленные компоненты будут удалены без вашего желания! Да, Microsoft удаляет то, что считает несовместимым при обновлении.
Так вот, ISO файл содержит набор неизвестных и сложных для понимания файлов с расширением cab. Вот чудесный файлик на сайта Microsoft, который обясняет назначение каждого файла. Итак, существуют следующие типы FOD:
- Microsoft-Windows-LanguageFeatures-Basic — проверка правописания для различных языков и раскладок клавиатуры;
- Microsoft-Windows-LanguageFeatures-Fonts — национальные шрифты, например, азиатские
- Microsoft-Windows-LanguageFeatures-OCR — средства для распознавания шрифтов
- Microsoft-Windows-LanguageFeatures-Handwriting — средства для распознавания рукописного ввода
- Microsoft-Windows-LanguageFeatures-TextToSpeech — средства преобразования текста в голос, используемые подсказчиком Cortana
- Microsoft-Windows-LanguageFeatures-Speech — распознавание голоса
- Microsoft-Windows-InternationalFeatures — пакеты национальных настроек, например, для Тайваня
Итак, для добавления таких FOD компонентов, используйте команды вида (замените имя компонента):
Dism /Online /Add-Capability /CapabilityName:Language.Basic
Для удаления FOD:
Dism /Online /Remove-Capability /CapabilityName:Language.Basic
Установка и переустановка пакетов языков (Language Interface Packs, LIP)
Язык интерфейса Windows можно поменять, установив так называемые LIP. ранее они назывались MUI (Multi user interface). Файлы LIP выглядят так: Microsoft-Windows-Client-Language-Pack_x64_es-es.cab для испанского языка. Выглядеть установка будет примерно так:
Dism /Add-Package /online /PackagePath:»C:\Languages\Microsoft-Windows-Client-Language-Pack_x64_fr-fr.cab»
Dism /Remove-Package /online /PackageName:Microsoft-Windows-Client-LanguagePack-Package
В следующей статье мы поговорим как с помощью DISM и Powershell управлять так называемыми Modern-приложениями AppX.