Меню Рубрики

Установка exe с помощью powershell

Работа с программами установки программного обеспечения 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 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.

Например, чтобы найти отображаемые имена приложений в разделе «Удаление», используйте следующую команду: 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:

источник

Установка PowerShell в Windows Installing PowerShell on Windows

Есть несколько способов установки PowerShell в Windows. There are multiple ways to install PowerShell in Windows.

Предварительные требования Prerequisites

Чтобы включить удаленное взаимодействие PowerShell через WSMan, нужно выполнить следующие условия: To enable PowerShell remoting over WSMan, the following prerequisites need to be met:

  • Установите универсальную среду выполнения C в версиях Windows, предшествующих Windows 10. Install the Universal C Runtime on Windows versions prior to Windows 10. Ее можно скачать самостоятельно или через Центр обновления Windows. It is available via direct download or Windows Update. Поддерживаемые системы, где установлены все исправления (включая дополнительные пакеты), уже содержат ее. Fully patched (including optional packages), supported systems will already have this installed.
  • Установите Windows Management Framework (WMF) 4.0 или более поздней версии в Windows 7 и Windows Server 2008 R2. Install the Windows Management Framework (WMF) 4.0 or newer on Windows 7 and Windows Server 2008 R2. Подробные сведения о WMF см. в статье с обзором WMF. For more information about WMF, see WMF Overview.
Читайте также:  Установка печки и дымохода в деревянно

Установка пакета MSI Installing the MSI package

Чтобы установить PowerShell на клиенте Windows или в Windows Server (работает в Windows 7 с пакетом обновления 1 (SP1), Server 2008 R2 и более поздних версий), скачайте пакет MSI из с нашей страницы выпусков GitHub. To install PowerShell on a Windows client or Windows Server (works on Windows 7 SP1, Server 2008 R2, and later), download the MSI package from our GitHub releases page. Прокрутите вниз до раздела Ресурсы в выпуске, который вы хотите установить. Scroll down to the Assets section of the Release you want to install. Раздел «Ресурсы» может быть свернут. В таком случае щелкните его, чтобы развернуть. The Assets section may be collapsed, so you may need to click to expand it.

MSI-файл имеет следующий вид: PowerShell- -win- .msi . The MSI file looks like this — PowerShell- -win- .msi

После скачивания дважды щелкните установщик и следуйте инструкциям на экране. Once downloaded, double-click the installer and follow the prompts.

Программа установки создает ярлык в меню Windows «Пуск». The installer creates a shortcut in the Windows Start Menu.

  • По умолчанию пакет устанавливается в каталог $env:ProgramFiles\PowerShell\ . By default the package is installed to $env:ProgramFiles\PowerShell\
  • Вы можете запустить PowerShell с помощью меню «Пуск» или файла $env:ProgramFiles\PowerShell\ \pwsh.exe . You can launch PowerShell via the Start Menu or $env:ProgramFiles\PowerShell\ \pwsh.exe

PowerShell 7 устанавливается в новом каталоге и работает параллельно с Windows PowerShell 5.1. PowerShell 7 installs to a new directory and runs side-by-side with Windows PowerShell 5.1. Для PowerShell Core 6.x версия PowerShell 7 является обновлением на месте, при установке которого PowerShell Core 6.x удаляется. For PowerShell Core 6.x, PowerShell 7 is an in-place upgrade that removes PowerShell Core 6.x.

  • PowerShell 7 устанавливается в папке %programfiles%\PowerShell\7 . PowerShell 7 is installed to %programfiles%\PowerShell\7
  • Папка %programfiles%\PowerShell\7 добавляется в переменную $env:PATH . The %programfiles%\PowerShell\7 folder is added to $env:PATH
  • Папка %programfiles%\PowerShell\6 удалена. The %programfiles%\PowerShell\6 folder is deleted

Если вы хотите запускать PowerShell 6 параллельно с PowerShell 7, переустановите PowerShell 6 с использованием ZIP-архива. If you need to run PowerShell 6 side-by-side with PowerShell 7, reinstall PowerShell 6 using the ZIP install method.

Установка администратором из командной строки Administrative install from the command line

Пакеты MSI можно установить из командной строки. MSI packages can be installed from the command line. Это позволяет администраторам развертывать пакеты без участия пользователя. This allows administrators to deploy packages without user interaction. Пакет MSI для PowerShell включает в себя следующие свойства для управления параметрами установки: The MSI package for PowerShell includes the following properties to control the installation options:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL. Это свойство позволяет добавлять пункт Открыть PowerShell в контекстное меню проводника. ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL — This property controls the option for adding the Open PowerShell item to the context menu in Windows Explorer.
  • ENABLE_PSREMOTING. Это свойство позволяет включать удаленное взаимодействие PowerShell во время установки. ENABLE_PSREMOTING — This property controls the option for enabling PowerShell remoting during installation.
  • REGISTER_MANIFEST. Это свойство позволяет регистрировать манифест ведения журнала событий Windows. REGISTER_MANIFEST — This property controls the option for registering the Windows Event Logging manifest.

В следующих примерах показано, как выполнить автоматическую установку PowerShell со всеми включенными параметрами установки. The following examples shows how to silently install PowerShell with all the install options enabled.

Установка пакета MSIX Installing the MSIX package

Чтобы вручную установить пакет MSIX на клиент Windows 10, скачайте пакет MSIX на странице GitHub с выпусками. To manually install the MSIX package on a Windows 10 client, download the MSIX package from our GitHub releases page. Прокрутите вниз до раздела Ресурсы в выпуске, который вы хотите установить. Scroll down to the Assets section of the Release you want to install. Раздел «Ресурсы» может быть свернут. В таком случае щелкните его, чтобы развернуть. The Assets section may be collapsed, so you may need to click to expand it.

MSIX-файл выглядит примерно так: PowerShell- -win- .msix The MSIX file looks like this — PowerShell- -win- .msix

После скачивания вы не сможете просто дважды щелкнуть установщик, так как для этого пакета требуются невиртуализованные ресурсы. Once downloaded, you cannot simply double-click on the installer as this package requires use of un-virtualized resources. Для установки используйте командлет Add-AppxPackage . To install, you must use the Add-AppxPackage cmdlet:

Читайте также:  Установка kyocera 1025 в linux

Установка ZIP-пакета Installing the ZIP package

Для поддержки расширенных сценариев развертывания доступны ZIP-архивы двоичных файлов PowerShell. PowerShell binary ZIP archives are provided to enable advanced deployment scenarios. Следует отметить, что при использовании ZIP-архива проверка предварительных условий, как в случае с пакетом MSI, не производится. Be noted that when using the ZIP archive, you won’t get the prerequisites check as in the MSI package. Для правильной настройки удаленного взаимодействия с помощью WSMan необходимо выполнить предварительные требования. For remoting over WSMan to work properly, ensure that you have met the prerequisites.

Развертывание в Windows IoT Deploying on Windows IoT

Windows IoT поставляется с Windows PowerShell, который можно использовать для развертывания PowerShell 7. Windows IoT already comes with Windows PowerShell which we can use to deploy PowerShell 7.

Создайте PSSession для целевого устройства Create PSSession to target device

Скопируйте ZIP-файл на устройство Copy the ZIP package to the device

Присоединитесь к устройству и извлеките архив Connect to the device and expand the archive

Удаленное взаимодействие в PowerShell 7 Setup remoting to PowerShell 7

Подключение к конечной точке PowerShell 7 на устройстве Connect to PowerShell 7 endpoint on device

Развертывание на Nano Server Deploying on Nano Server

Эти инструкции предполагают, что версия PowerShell уже запущена на образе Nano Server и была создана с помощью Nano Server Image Builder. These instructions assume that a version of PowerShell is already running on the Nano Server image and that it has been generated by the Nano Server Image Builder. Nano Server является «виртуальной» ОС. Nano Server is a «headless» OS. Двоичные файлы PowerShell можно развернуть двумя разными способами. PowerShell binaries can be deploy using two different methods.

  1. Автономно — подключите виртуальный жесткий диск Nano Server и распакуйте содержимое ZIP-файла в выбранное расположение в этом образе. Offline — Mount the Nano Server VHD and unzip the contents of the zip file to your chosen location within the mounted image.
  2. В сети — передайте ZIP-файл через сеанс PowerShell и распакуйте его в выбранное расположение. Online — Transfer the zip file over a PowerShell Session and unzip it in your chosen location.

В обоих случаях вам понадобится ZIP-пакет выпуска x64 Windows 10 и потребуется выполнять команды в экземпляре PowerShell с правами администратора. In both cases, you will need the Windows 10 x64 ZIP release package and will need to run the commands within an «Administrator» PowerShell instance.

Автономное развертывание PowerShell Offline Deployment of PowerShell

  1. С помощью любой служебной программы ZIP распакуйте пакет в каталог, находящийся внутри подключенного образа Nano Server. Use your favorite zip utility to unzip the package to a directory within the mounted Nano Server image.
  2. Отключите образ и загрузите его. Unmount the image and boot it.
  3. Подключитесь к входящему экземпляру Windows PowerShell. Connect to the inbox instance of Windows PowerShell.
  4. Следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью методики использования другого экземпляра. Follow the instructions to create a remoting endpoint using the «another instance technique».

Автономное PowerShell в сети Online Deployment of PowerShell

В следующих шагах описываются инструкции развертывания PowerShell на запущенном экземпляре Nano Server, а также настройка его удаленной конечной точки. The following steps guide you through the deployment of PowerShell to a running instance of Nano Server and the configuration of its remote endpoint.

Подключитесь к входящему экземпляру Windows PowerShell: Connect to the inbox instance of Windows PowerShell

Скопируйте файл на экземпляр Nano Server: Copy the file to the Nano Server instance

Войдите в сеанс: Enter the session

Извлеките ZIP-файл Extract the ZIP file

Если вам требуется удаленное взаимодействие на основе WSMan, следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью методики использования другого экземпляра. If you want WSMan-based remoting, follow the instructions to create a remoting endpoint using the «another instance technique».

Установка в качестве глобального средства .NET Install as a .NET Global tool

Если вы уже установили пакет SDK для .NET Core, установите PowerShell как глобальное средство .NET. If you already have the .NET Core SDK installed, it’s easy to install PowerShell as a .NET Global tool.

Установщик инструмента dotnet добавляет $env:USERPROFILE\dotnet\tools в переменную среды $env:PATH . The dotnet tool installer adds $env:USERPROFILE\dotnet\tools to your $env:PATH environment variable. Но в выполняющейся оболочке отсутствует обновленная переменная $env:PATH . However, the currently running shell does not have the updated $env:PATH . Вы можете запустить PowerShell из новой оболочки, введя pwsh . You should be able to start PowerShell from a new shell by typing pwsh .

Создание конечной точки удаленного взаимодействия How to create a remoting endpoint

PowerShell поддерживает протокол удаленного взаимодействия PowerShell (PSRP) через SSH и WSMan. PowerShell supports the PowerShell Remoting Protocol (PSRP) over both WSMan and SSH. Дополнительные сведения см. в разделе: For more information, see:

источник