Установка компонентов windows через powershell

Как установить .NET Framework 3.5 в Windows 10 используя Windows PowerShell

В этой статье показаны действия, с помощью которых можно установить .NET Framework 3.5 в Windows 10 используя Windows PowerShell.

Компонент .NET Framework 3.5 требуется для работы различных приложений, и начиная с операционной системы Windows 8, компонент .NET Framework 3.5 не устанавливается автоматически вместе с Windows, и его необходимо включить самостоятельно, чтобы зависящие от него приложения работали.

Данная статья написана как дополнение к различным способам установки компонента .NET Framework которые подробно представлены в этой ➯ статье

Для установки компонента .NET Framework 3.5 нам понадобится подключенный к компьютеру установочный носитель с дистрибутивом Windows 10 (DVD-диск, USB-накопитель) или ISO-образ подключенный как диск.

Как установить .NET Framework 3.5 в Windows 10 используя Windows PowerShell

Далее, в открывшемся окне Администратор: Windows PowerShell введите команду:

Enable-WindowsOptionalFeature -Online -FeatureName «NetFx3» -Source E:\\sources\\sxs

Где E: — буква диска с дистрибутивом Windows 10 (или путь до распакованного дистрибутива).

После ввода команды, нажмите клавишу Enter ↵, начнется процесс установки.

Через некоторое время .Net Framework 3.5 будет установлен. Перезагрузка компьютера не требуется, об этом нам говорит строка RestartNeeded : False

Теперь проверим установку компонента выполнив следующую команду:

Get-WindowsOptionalFeature -Online | where featurename -Like «netfx3»

Строка State : Enabled говорит о том, что компонент включен (Состояние : Включен).

Также проверить состояние компонента можно в графическом интерфейсе операционной системы, для этого нажмите сочетание клавиш + R и в открывшемся окне Выполнить введите команду OptionalFeatures и нажмите клавишу Enter ↵.

В открывшемся окне Компоненты Windows , вы увидите установленный флажок возле строки .NET Framework 3.5 (включает .NET 2.0 и 3.0) , что говорит о том, что компонент .NET Framework 3.5 включен.

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 — установка компонентов интерфейса.

Читайте также:  Как сделать локальную сеть linux

Причем если установка уже была произведена, то переустановки или похожих действий не будет.

Для установки на удаленном компьютере можно выполнить:

-ComputerName — имя компьютера или IP

Если установка на другом компьютере будет под другим пользователем:

-Credential — логин пользователя

Для удаления роли или компонента используется:

Если у нас есть какие-то сомнения в работе команд выше, то мы можем использовать ключ -WhatIF, который дословно «что если я исполню эту команду». Т.е. мы ничего не поломаем, узнаем нужна ли будет перезагрузка, какие компоненты будут доустановлены и будет ли ошибка. Пример:

Ключ -Verbose установит компонент с детальным отображением процесса:

Далее нужно будет настраивать роль. Для каждой роли и компонента он свой. Например для создания леса делаем Install-ADDSForest.

Через эту команду можно установить сервисы и на VHD диск или множество ролей с XML файла.

Enable-WindowsOptionalFeature

Этот командлет включен в клиентские редакции Windows и серверные, он устанавливает компоненты через powershell. Если сравнивать с работой через интерфейс команда аналогина этому окну:

Для получения всех компонентов выполняем:

-Online говорит, что пакеты будут искаться на этом же компьютере. Можно поставить -Path и указать путь до образа Windows что бы увидеть другие пакеты.

Что бы отфильтровать вывод по имени:

Фильтруем по статусу:

Для того, что бы включить компонент нужно выполнить:

Если хотим отключить — меняем глагол:

Обычно я использую WindowsOptionalFeature для подготовки Nano сервера т.к. там нет WindowsFeature и пакеты с ролями сначала импортируются, а затем доустанавливаются.

Работа с программами установки программного обеспечения Working with Software Installations

Доступ к приложениям, использующим установщик Windows, можно получить в классе Win32_Product WMI, но не все современные приложения используют установщик Windows. Applications that are designed to use Windows Installer can be accessed through WMI’s Win32_Product class, but not all applications in use today use the Windows Installer. Установщик Windows обычно не управляет приложениями, использующими другие процедуры установки. Applications that use alternate setup routines are not usually managed by the Windows Installer. Конкретные техники работы с этими приложениями зависят от программного обеспечения установщика и решений, принятых разработчиком приложения. Specific techniques for working with those applications depends on the installer software and decisions made by the application developer. Например, для управления приложениями, установленными путем копирования файлов в папку на компьютере, обычно не используются описанные здесь методы. For example, applications installed by copying the files to a folder on the computer usually cannot be managed by using techniques discussed here. Вы можете управлять этими приложениями, как файлами и папками, с помощью способов, приведенных в статье Работа с файлами и папками. You can manage these applications as files and folders by using the techniques discussed in Working With Files and Folders.

Класс Win32_Product не оптимизирован для запросов. The Win32_Product class is not query optimized. Если выполняются запросы, использующие фильтры с подстановочными знаками, то WMI будет использовать поставщика MSI для перечисления всех установленных продуктов, а затем последовательно проанализирует весь список с применением фильтра. Queries that use wildcard filters cause WMI to use the MSI provider to enumerate all installed products then parse the full list sequentially to handle the filter. При этом также инициируется проверка согласованности установленных пакетов для проверки и исправления установки. This also initiates a consistency check of packages installed, verifying and repairing the install. Проверка выполняется медленно и может привести к ошибкам в журнале событий. The validation is a slow process and may result in errors in the event logs. Подробные сведения см. в статье базы знаний 974524. For more information seek KB article 974524.

Читайте также:  Перестал выключаться ноутбук windows 10

Создание списков приложений установщика Windows Listing Windows Installer Applications

Чтобы создать список приложений, установленных с помощью установщика Windows в локальной или удаленной системе, используйте следующий простой запрос WMI: To list the applications installed with the Windows Installer on a local or remote system, use the following simple WMI query:

Чтобы отобразить все свойства объекта Win32_Product , используйте параметр Properties командлетов форматирования, например Format-List со значением * (все). To display all the properties of the Win32_Product object to the display, use the Properties parameter of the formatting cmdlets, such as the Format-List cmdlet, with a value of * (all).

Можно также использовать параметр Get-CimInstance Filter , чтобы выбрать только среду выполнения Microsoft .NET 2.0. Or, you could use the Get-CimInstance Filter parameter to select only Microsoft .NET 2.0 Runtime. Для значения параметра Filter используется синтаксис языка запросов WMI (WQL), а не синтаксис Windows PowerShell. The value of the Filter parameter uses WMI Query Language (WQL) syntax, not Windows PowerShell syntax. Пример: For example:

Чтобы получить список только интересующих вас свойств, используйте параметр Property командлетов форматирования. To list only the properties that interest you, use the Property parameter of the formatting cmdlets to list the desired properties.

Создание списка всех удаленных приложений Listing All Uninstallable Applications

Так как большинство стандартных приложений регистрируют программу удаления в Windows, с ними можно работать локально, в реестре Windows. Because most standard applications register an uninstaller with Windows, we can work with those locally by finding them in the Windows registry. Не существует гарантированного способа найти все приложения в системе. There is no guaranteed way to find every application on a system. Но можно найти все программы в списках, отображаемых в окне Установка и удаление программ в следующем разделе реестра: However, it is possible to find all programs with listings displayed in Add or Remove Programs in the following registry key:

В этом разделе можно найти приложения. We can examine this key to find applications. Чтобы упростить просмотр раздела Uninstall, можно сопоставить диск PowerShell с таким путем реестра: To make it easier to view the Uninstall key, we can map a PowerShell drive to this registry location:

Теперь диск с именем «Uninstall» можно использовать для быстрого и удобного поиска установок приложений. We now have a drive named «Uninstall:» that can be used to quickly and conveniently look for application installations. Количество установленных приложений можно найти, подсчитав количество разделов реестра в разделе «Удаление»: Диск PowerShell: We can find the number of installed applications by counting the number of registry keys in the Uninstall: PowerShell drive:

С помощью разных методов, начиная с Get-ChildItem , можно дальше выполнять поиск в списке приложений. We can search this list of applications further by using a variety of techniques, beginning with Get-ChildItem . Чтобы получить список приложений и сохранить их в переменную $UninstallableApplications , используйте следующую команду: To get a list of applications and save them in the $UninstallableApplications variable, use the following command:

Чтобы отобразить значения записей реестра в подразделах реестра раздела «Удаление», используйте метод GetValue. To display the values of the registry entries in the registry keys under Uninstall, use the GetValue method of the registry keys. Значение метода является записью реестра. The value of the method is the name of the registry entry.

Читайте также:  Windows store crashes on open

Например, чтобы найти отображаемые имена приложений в разделе «Удаление», используйте следующую команду: For example, to find the display names of applications in the Uninstall key, use the following command:

Нет никакой гарантии, что эти значения уникальны. There is no guarantee that these values are unique. В следующем примере два установленных элемента отображаются как Windows Media Encoder 9 Series: In the following example, two installed items appear as «Windows Media Encoder 9 Series»:

Установка приложений Installing Applications

Вы можете использовать класс Win32_Product для удаленной или локальной установки пакетов установщика Windows. You can use the Win32_Product class to install Windows Installer packages, remotely or locally.

Чтобы установить приложение, запустите PowerShell, используя параметр «Запуск от имени администратора». To install an application, you must start PowerShell with the «Run as administrator» option.

Если установка выполняется удаленно, используйте сетевой UNC-путь, чтобы указать путь к пакету MSI, так как подсистема WMI не распознает пути PowerShell. When installing remotely, use a Universal Naming Convention (UNC) network path to specify the path to the .msi package, because the WMI subsystem does not understand PowerShell paths. Например, чтобы установить пакет NewPackage.msi, расположенный в сетевой папке \\AppServ\dsp на удаленном компьютере PC01, введите следующую команду в командной строке PowerShell: For example, to install the NewPackage.msi package located in the network share \\AppServ\dsp on the remote computer PC01, type the following command at the PowerShell prompt:

Приложения, которые не используют метод установщика Windows, могут включать специальные методы для автоматического развертывания конкретного приложения. Applications that do not use Windows Installer technology may have application-specific methods for automated deployment. Изучите документацию по приложению или обратитесь в службу поддержки поставщика приложения. Check the documentation for the application or consult the application vendor’s support system.

Удаление приложений Removing Applications

Удаление пакета установщика Windows с помощью PowerShell работает примерно так же, как и установка пакета. Removing a Windows Installer package using PowerShell works in approximately the same way as installing a package. Далее представлен пример, в котором пакет для удаления выбирается на основе имени. В некоторых случаях его может быть проще отфильтровать с помощью IdentifyingNumber : Here is an example that selects the package to uninstall based on its name; in some cases it may be easier to filter with the IdentifyingNumber :

Удаление других приложений не так просто, даже если оно выполняется локально. Removing other applications is not quite so simple, even when done locally. Строки удаления командной строки для этих приложений можно найти путем извлечения свойства UninstallString . We can find the command line uninstallation strings for these applications by extracting the UninstallString property. Этот способ работает для приложений установщика Windows и более старых программ, отображающихся в разделе «Удаление»: This method works for Windows Installer applications and for older programs appearing under the Uninstall key:

Выходные данные при необходимости можно отфильтровать по отображаемому имени: You can filter the output by the display name, if you like:

Возможно, что эти строки нельзя будет напрямую использовать из командной строки PowerShell без внесения некоторых изменений. However, these strings may not be directly usable from the PowerShell prompt without some modification.

Обновление приложений установщика Windows Upgrading Windows Installer Applications

Чтобы обновить приложение, необходимо знать название приложения и путь к пакету обновлений приложения. To upgrade an application, you need to know the name of the application and the path to the application upgrade package. Получив эти сведения, вы можете обновить приложение с помощью одной команды PowerShell: With that information, you can upgrade an application with a single PowerShell command:

Оцените статью