Встановлення програм за допомогою менеджера пакетів powershell, windows для системних адміністраторів

модуль PackageManagement

Модуль PackageManagement вже вбудований в Windows 10, а для його роботи потрібно PowerShell 5. Тому для роботи менеджера пакетів в Windows 8.1 потрібно спочатку встановити WindowsManagementFramework 5.0. Також Microsoft випустила окремий модуль для роботи менеджера пакетів і на PowerShell версій 3 і 4.

Виведемо список доступних командлетів PowerShell в модулі PackageManagement:

Get-Command -Module PackageManagement

У поточній версії модуля (v 1.0.0.1) є такі команди:

  • Find-Package - пошук пакета (програми) в доступних репозиторіях
  • Get-Package - отримати список встановлених пакетів
  • Get-PackageProvider - список провайдерів (постачальників пакетів), доступних на комп'ютері
  • Get-PackageSource - список доступних джерел пакетів
  • Install-Package - встановити пакет (програму) на комп'ютері
  • Register-PackageSource - додати джерело пакетів для провайдера
  • Save-Package - зберегти пакет локально без його установки
  • Set-PackageSource - задати провайдер в якості джерела пакетів
  • Uninstall-Package - видалити програму (пакет)
  • Unregister-PackageSource - видалити постачальника зі списку джерел пакетів

Встановлення програм за допомогою менеджера пакетів powershell, windows для системних адміністраторів

провайдери пакетів

Пакети обслуговуються різними провайдерам, які можуть отримувати пакети з різних джерел. Щоб вивести список всіх доступних провайдерів, виконайте:

Встановлення програм за допомогою менеджера пакетів powershell, windows для системних адміністраторів
За замовчуванням в системі є 2 встановлених джерела пакетів: nuget.org і PSGallery (офіційна онлайн галерея скриптів PowerShell від MSFT). Але вони призначені в першу чергу для програмістів і системних адміністраторів.

Примітка. В Nano Server є спеціальний ще провайдер NanoServerPackage. про нього в наступній статті.

Щоб отримати доступ до каталогу прикладного ПО, підключимо популярний репозитарій ПО - Chocolatey. містить на даний момент більше 4500 різних програм.

Встановимо новий провайдер Chocolatey:

Підтвердимо установку провайдера, натиснувши Y.

Встановлення програм за допомогою менеджера пакетів powershell, windows для системних адміністраторів
Зробимо Chocolatey довіреною джерелом пакетів, щоб кожен раз при установці пакета не доводилося підтверджувати установку.

Set-PackageSource -Name chocolatey -Trusted

Переконаємося, що Chocolatey тепер присутній серед доступних репозитаріїв додатків:

Встановлення програм з репозиторію Chocolatey

Розглянемо тепер, як встановити додаток (пакет) зі сховищ Chocolatey.

Встановлення програм за допомогою менеджера пакетів powershell, windows для системних адміністраторів

Find-Package -Name * adobe * -Source Chocolatey

В консолі з'явиться список всіх пакетів з даного ключу. Нам потрібен пакет adobereader (потрібно використовувати саме ім'я пакета з шпальти Name).

Запускаємо установку пакета Adobe Reader:

Install-Package -Name adobereader -ProviderName Chocolatey

Встановлення програм за допомогою менеджера пакетів powershell, windows для системних адміністраторів
Вгорі вікна PowerShell з'явиться повзунок, який сповіщає про початок завантаження пакета Adobe Reader. Відразу після закінчення завантаження, додаток встановиться в системі.

Встановлення програм за допомогою менеджера пакетів powershell, windows для системних адміністраторів

Ще один приклад. Припустимо, нам знадобилося мати на комп'ютері набір утиліт SysInternals. Щоб не качати його вручну, знайдемо пакет SysInternals в репозитарії Chocolatey і встановимо його.

Встановлення програм за допомогою менеджера пакетів powershell, windows для системних адміністраторів

Відразу кілька додатків можна встановити всього однією командою:

Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package

видалення пакета

Видалення програми на комп'ютері виконується також однією командою. Наприклад, для видалення Adobe Reader, виконайте команду:

Отже, ми розглянули нові можливості установки додатків в Windows з командного рядка PowerShell. У найближчому майбутньому, ймовірно, з'являться графічні надбудови над модулем PackageManagement, що дозволяють легко управляти установкою / видаленням ПО і простим користувачам без навичок роботи з CLI.

PowerShell: Get-ADUser - командлет для отримання інформації про користувачів Active Directory

Отримуємо інформацію поточному часовому поясі і наявності KB2998527 на комп'ютерах домену

PowerShell: Get-ADComputer - отримання даних про комп'ютери в Active Directory

Аудит паролів користувачів в Active Directory

Обробка вмісту веб-сторінок і HTML сайтів в Powershell

Resolution: 1346 x 733 51 queries. 0,657 sec 23.99 MB

MAXCACHE: 0.25MB / 0.00166 sec