Установка приложений с помощью PowerShell

Вы только что установили Windows и перед вами стоит задача установки совта: браузер, архиватор, антивирус, читалка PDF-ов, файловый менеджер и так далее.

Да, можно скачать это всё из интернета, через модный браузер Internet Explorer. Но это значит, что сначала нужно загуглить нужную программулину, перейти на сайт разработчика, скачать её, установить. Не много ли половых излишеств?

Так же можно установить совт с вашего файлового хранилища, которое вы, возможно, собирали всю жизнь и у вас там есть «ВСЁ». Неплохой вариант, только опять же, каждую программу придёться «прокликать», к тому-же версии их будут явно устаревшими.

Ну а можно запустить PowerShell, ввести пару простых команд и установить приложения, без рекламного мусора, баннеров и расширений в браузеры.

Запускаем и подготавливаем Powershell

Установим репозиторий Chocolatey

Для начала запустим PowerShell. Обязательно от имени Администратора.

По умолчанию уровень безопасности PowerShell — Restricted, т.е. ему не разрешено выполнять и создавать сценарии, это сделано для того что бы предотвратить исполнение вредоносного кода. Поэтому первым делом мы изменим уровень безопасности на Bypass, т.е. разрешим выполнение всех сценариев, но запретим вывод предупреждений и запросов. Понятно, что после установки нужного нам совта — мы всё вернём в зад.

  • Для изменения уровня безопасности — пишем в командной строке PowerShell:
    Set-ExecutionPolicy Bypass -Scope Process -Force
  • Добавляем репозиторий Chocolatey и делаем его доверенным. Именно с него будет скачиваться весь совт. Последовательно набираем 2 командлета (так называются в PowerShell команды):
    Get-PackageProvider —Name Chocolatey -ForceBootstrap
    Set-PackageSource -Name Chocolatey -Trusted

Всё. Теперь ваша система готова. Давайте что-нибудь установим.

Установка приложений с помощью командлетов Powershell

Нерекомендуемый способ

Для примера установим браузер Chrome.
Пишем в командной строке повершела командлет Install-Package, потом через пробел параметры, а именно: название нашего приложения — googlechrome, потом ключ -ProviderName, которым мы явно зададим с какого репозитория скачивать совт и название репозитория chocolatey. В самом конце добавим 2 ключа: -Verbose и -force. Первый для того, что бы видеть процесс инсталляции, второй — для игнорирования запросов, например на перезапись файла.
В конечном итоге у вас должна получиться такая строка:

Install-Package googlechrome -ProviderName chocolatey -Verbose -force

Далее для установки другого приложения вам нужно только изменять названия пакета. Например, что бы установить архиватор WinRAR — нужно изменить googlechrome на winrar:

Install-Package winrar -ProviderName chocolatey -Verbose -force

Для того, что бы посмотреть, что вы там себе наустанавливали — нужно набрать командлет Get-Package без всяких параметров:

Get-Package

Он выведет на экран список всех установленных приложений.

Но Opera, Mozilla FireFox и ещё фигова туча приложений, которые есть в репозитории chocolatey, у вас не будут устанавливаться. Повершел ругнётся на неизвестный ему командлет, например на:

«Get-OSArchitectureWidth» не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку

Более того, установить такое приложение другим способом, уже тоже не удастся. Система будет ругаться на то, что программа установлена. Поэтому, если вы столкнулись с такой ошибкой, обязательно наберите команду Uninstall-Package и название пакета, например:

Uninstall-Package opera

Короче, давайте срезюмируем. Данный метод имеет хоть и один, но очень серьёзный недостаток: несмотря на наличие приложения в репозитории — далеко не каждое может быть установлено. Выяснить это можно исключительно методом научного тыка.

Поэтому рекомендую использовать собственную утилиту проекта Chocolatey.

Установка приложений с помощью Chocolatey

Рекомендуемый способ

Репозиторий Chocolatey содержит постоянно обновляющуюся базу из более чем 5800 бесплатных и условно-бесплатных приложений.

Устанавливаем модуль Chocolatey. Он имеет свой синтаксис, зато приложения можно будет устанавливать, не только из повершела, но и из командной строки. Это делается всего одной командой:

iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Если ругнётся на:

Невозможно загрузить файл \chocolatey\chocInstall\tools\chocolateyInstall.ps1, так как выполнение сценариев отключено в этой системе.

То измените уровень безопасности командой выше.

Установка приложений через командную строку - рабочий столЭто всё что нужно сделать. Теперь вы можете устанавливать приложения, используя простейший синтаксис проекта Chocolatey.
Для полноценного управления установкой приложений нам потребуется 5 команд:

  • cinst название_пакета — установка приложения
  • cuninst название_пакета — удаление приложения
  • cup название_пакета — обновление приложения
  • cup all — обновление всех установленных приложений
  • clist название_пакета — поиск приложений

Например, для установки браузера Opera — запустим экземпляр командной строки CMD или PowerShell от имени Администратора. В адресную строку введём название команды cinst, название приложения opera и пару параметров:

cinst opera ––force ‑y

Параметр ‑‑force — будет игнорировать все ошибки, а так-же используется для принудительной переустановки приложения.
Ключ ‑y — будет отвечать на все вопросы скриптов, установщика и системы утвердительно.

Для удаления — набирайте cuninst, название программы и ключ -y, например:

cuninst opera -y

А как же искать приложения? Для примера узнаем какое название имеет в каталоге Chocolatey десктопный Telegram. Для этого пишем команду clist и через пробел предполагаемое название пакета:

clist telegram

Как правило, первая же строчка и будет названием пакета с указанием её текущей версии в каталоге.

По такому же принципу, вы можете обновлять приложения. Команды для обновления сразу всех программ или по отдельности были чуть выше.

Как то так.


Сказать спасибо

Сумма в белорусских рублях
  • Перевод осуществляется, через сервис электронных платежей ЗАО «Альфа-Банк»
  • Сумма в белорусских рублях BYN
  • Если карта в другой валюте — конвертация производится по курсу вашего банка
  • Комиссия 0%


Популярные заметки

RDP не подключается во второй раз

RDP icon

Калькулятор, погода и почта на английском языке

Weather appWeather app

Транслитерация текста с помощью PowerShell

Powershell - Скрипт транслитерации

 

1 комментарий


  1. Всё проще — подготавливаем образ с софтом, запечатываем, после чего раскатываем где угодно, сразу готовый к работе — нужны минимальные настройки после установки, которые можно загнать в скрипты PS. Смотрел как-то на эту шоколадную фабрику, но так и не сложилось с ней.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *