Могли ли вы себе представить, что на ОС Windows можно устанавливать программное обеспечение как в Lunix – из репозитория? Я вам ответственно заявляю, что это возможно, и это отлично работает. За что нам нравится установка софта в Linux? – За простоту, так как достаточно набрать команду:
apt-get install mc
или yum install mc
и система сама подключится к репозиторию, и установит актуальную, свежую версию популярного файлового менеджера Midnight Commander.
Для ОС Windows есть такой репозиторий программ для PowerShell – Сhocolatey.
Это отличная вещь, которая меняет и упрощает суровые будни системного администратора на платформе Windows.
Список доступных для установки приложений можно получить непосредственно на официальном веб сайте Chocolatey (https://chocolatey.org/packages)
Привожу системные требования для установки и функционирования репозитория chocolatey:
- ОС: Клиентская ОС: Windows 7 или выше
- Серверная ОС: Windows Server 2003 или выше
- Версия PowerShell: PowerShell версии 2 или выше
- Фреймворк: .NET Framework 4 или выше
Давайте я более детально расскажу про возможности этого замечательного менеджера пакетов!
Как установить приложения с помощью Powershell
Установка репозитория Chocolatey
Чтобы получить доступ к каталогу прикладного программного обеспечения, нужно подключить репозиторий Chocolatey. На момент написания статьи он содержит более 6296 различных программ и дистрибутивов.
Для установки нового провайдера Chocolatey откройте консоль PowerShell и наберите:
После выполнения команды нужно подтвердить установку пакета, ответив Y (Да).
Провайдер установлен. Затем, мы можем сделать Chocolatey доверенным источником пакетов, чтобы каждый раз при установке пакета не приходилось подтверждать его установку командой:
Set-PackageSource -Name chocolatey -Trusted
Теперь нужно проверить, что Chocolatey присутствует среди доступных репозиториев приложений командой:
Всё. Мы все сделали корректно, теперь я объясню и покажу, как пользоватьсяэтим замечательным репозиторием на примере.
Поиск пакета
Например, мы хотим установить FlashPlayer Plugin. Ищем его в репозитории по ключевому слову flash, так как мы не знаем правильное и точное название пакета. Вводим команду:
Find-Package -Name *flash* -Source Chocolatey
И после этого в консоли мы увидим список всех пакетов по данному ключевому слову:
Нам для установки необходим пакет flashplayerplugin (для установки используем имя пакета из столбца Name).
Так же хочу напомнить, что помимо поиска полный список пакетов можно посмотреть на официальном сайте проекта, по ссылке: https://chocolatey.org/packages.
Windows Powershell: Что это и как использовать? Основные команды 🖥️⚙️🧰
Установка пакета
Здесь все предельно просто. Запускаем установку коммандой:
Install-Package -Name flashplayerplugin -Source Chocolatey
Происходит установка пакета. Всё FlashPlayer plugin версии 32.0.0.114 установлен в нашу систему.
Удаление пакета
Удаление установленного приложения на компьютере так же простое и выполняется одной командой. Например, для удаления FlashPlayer plugin, нужно выполнить выполнить команду:
Заключение
В заключении хочу сказать, что пакет достаточно удобный и мощный, каталог приложений, которые можно установить с помощью данного менеджера огромный, и постоянно пополняется.
Соответственно данный менеджер пакетов и приложений можно использовать и в корпоративной среде, в рамках обновления ПО на рабочих местах и серверах, если это необходимо и ограничивается лишь фантазией и нуждами системных администраторов.
Вроде бы все основные моменты рассказал, установку поиск и удаление показал.
Если у вас остались вопросы – задавайте их в комментариях.
А так же подписывайтесь на обновления, чтобы не пропустить новую интересную статью.
Источник: pingmeup.ru
Установка программного обеспечения
Доступ к приложениям, спроектированным для использования установщика Windows, может быть получен через класс WMI Win32_Product, но в настоящее время не все приложения используют установщик Windows. Установщик Windows предоставляет широчайший спектр стандартных методов работы с устанавливаемыми приложениями, поэтому главное внимание будет уделяться именно этим приложениям. Приложения, для которых предусмотрены другие процедуры установки, обычно не управляются установщиком Windows. Особенные способы работы с такими приложениями зависят от программного обеспечения установщика и решений, принятых разработчиками приложений.
Использование рассматриваемых способов обычно невозможно для управления приложениями, которые устанавливаются копированием файлов приложения на компьютер. Такие приложения можно обрабатывать как отдельные файлы и папки, используя методы, рассмотренные в разделе «Работа с файлами и папками».
Получение списка приложений, установленных при помощи установщика Windows
Чтобы построить список приложений, установленных на локальной или удаленной системе при помощи установщика Windows, можно использовать несложный запрос WMI:
PS> Get-WmiObject -Class Win32_Product -ComputerName . IdentifyingNumber : Name : Microsoft .NET Framework 2.0 Vendor : Microsoft Corporation Version : 2.0.50727 Caption : Microsoft .NET Framework 2.0
Чтобы вывести на экран все свойства объекта Win32_Product, используйте параметр Properties командлетов форматирования, например командлета Format-List, со значением * (все).
PS> Get-WmiObject -Class Win32_Product -ComputerName . | Where-Object -FilterScript | Format-List -Property * Name : Microsoft .NET Framework 2.0 Version : 2.0.50727 InstallState : 5 Caption : Microsoft .NET Framework 2.0 Description : Microsoft .NET Framework 2.0 IdentifyingNumber : InstallDate : 20060506 InstallDate2 : 20060506000000.000000-000 InstallLocation : PackageCache : C:WINDOWSInstaller619ab2.msi SKUNumber : Vendor : Microsoft Corporation
Чтобы выбрать только Microsoft .NET Framework 2.0, можно также воспользоваться параметром Get-WmiObject Filter. В этой команде использован фильтр WMI, который следует не синтаксису фильтров Windows PowerShell, а синтаксису языка WQL. Вместо этого введите:
Get-WmiObject -Class Win32_Product -ComputerName . -Filter «Name=’Microsoft .NET Framework 2.0′»| Format-List -Property *
Запросы WQL часто содержат знаки (например, пробелы и знаки равенства), которые имеют в Windows PowerShell специальное значение. Поэтому рекомендуется всегда заключать значение параметра Filter в кавычки. Может быть использован и управляющий знак Windows PowerShell гравис (`), однако при этом чтение команды становится менее удобным. Следующая команда эквивалентна предыдущей, она возвращает тот же результат, однако вместо заключения всей строки фильтра в кавычки в ней применен специальный управляющий символ гравис.
Get-WmiObject -Class Win32_Product -ComputerName . -Filter Name`=`’Microsoft` .NET` Framework` 2.0`’ | Format-List -Property *
Чтобы вывести только желаемые свойства, используйте параметр Property командлетов форматирования для перечисления этих свойств.
Get-WmiObject -Class Win32_Product -ComputerName . | Format-List -Property Name,InstallDate,InstallLocation,PackageCache,Vendor,Version,IdentifyingNumber . Name : HighMAT Extension to Microsoft Windows XP CD Writing Wizard InstallDate : 20051022 InstallLocation : C:Program FilesHighMAT CD Writing Wizard PackageCache : C:WINDOWSInstaller113b54.msi Vendor : Microsoft Corporation Version : 1.1.1905.1 IdentifyingNumber : .
Наконец, если необходимо определить только имена установленных приложений, сократить вывод позволит следующая простая инструкция Format-Wide:
Get-WmiObject -Class Win32_Product -ComputerName . | Format-Wide -Column 1
Итак, существует несколько способов получения сведений о приложениях, установленных при помощи установщика Windows, однако остальные приложения пока не рассмотрены. Поскольку большинство стандартных приложений регистрирует программу удаления в Windows, их можно найти локально путем поиска программ удаления в реестре Windows.
Получение списка приложений, поддерживающих удаление
Не существует гарантированного способа нахождения всех приложений, установленных в системе, однако можно найти все программы, отображаемые в диалоговом окне «Установка и удаление программ». Диалоговое окно «Установка и удаление программ» находит эти приложения в следующем разделе реестра:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionUninstall.
Этот раздел также можно проверить, чтобы найти приложения. Просмотр раздела Uninstall можно упростить, отобразив соответствующее положение в реестре на диск Windows PowerShell:
PS> Name Provider Root CurrentLocation —- ——— —- ————— Uninstall Registry HKEY_LOCAL_MACHINESOFTWAREMicr.
Диск HKLM: отображает корневой раздел HKEY_LOCAL_MACHINE, поэтому он и был использован в пути к разделу Uninstall. Вместо HKLM: можно указать путь к разделу реестра, используя разделы HKLM или HKEY_LOCAL_MACHINE. Использование существующего диска реестра удобнее, так как вместо ввода имен разделов вручную позволяет воспользоваться функцией автозавершения по нажатию клавиши TAB.
Созданный диск с именем «Uninstall» делает поиск установленных приложений быстрым и удобным. Число установленных приложений можно определить, подсчитав количество разделов реестра на диске Uninstall: в Windows PowerShell:
PS> (Get-ChildItem -Path Uninstall:).Count 459
Дальнейший поиск в полученном списке приложений осуществляется разнообразными методами, начиная с использования командлета Get-ChildItem. Для получения списка приложений и их сохранения в переменной $UninstallableApplications используйте следующую команду:
$UninstallableApplications = Get-ChildItem -Path Uninstall:
Длинное имя переменной использовано здесь лишь для улучшения восприятия. На практике использование длинных имен не имеет особого смысла. Для имен переменных поддерживается автозавершение по нажатию клавиши TAB, но использование имен длиной в 1 — 2 знака позволяет ускорить ввод команд. Более длинные описательные имена наиболее полезны при разработке кода для повторного использования.
Для вывода значений записей реестра во вложенных разделах реестра раздела реестра Uninstall используйте метод GetValue для разделов реестра. Значение метода является именем записи в реестре.
Например, чтобы определить отображаемые имена приложений из раздела Uninstall, используйте следующую команду:
PS> Get-ChildItem -Path Uninstall: | ForEach-Object -Process
Уникальность этих значений не гарантирована. В следующем примере два установленных элемента отображаются как «Windows Media Encoder 9 Series»:
PS> Get-ChildItem -Path Uninstall: | Where-Object -FilterScript < $_.GetValue(«DisplayName») -eq «Windows Media Encoder 9 Series»>Hive: Microsoft.PowerShell.CoreRegistry::HKEY_LOCAL_MACHINESOFTWAREMicros oftWindowsCurrentVersionUninstall SKC VC Name Property — — —- ——— 0 3 Windows Media Encoder 9
Установка приложений
Класс Win32_Product можно использовать для удаленной или локальной установки пакетов установщика Windows. При удаленной установке необходимо указать путь к устанавливаемому пакету MSI в виде сетевого UNC-пути, так как подсистема WMI не распознает пути Windows PowerShell. Например, для установки пакета NewPackage.msi, расположенного на общем сетевом ресурсе \AppServdsp на удаленном компьютере PC01, введите в командной строке Windows PowerShell следующую команду:
(Get-WMIObject -ComputerName PC01 -List | Where-Object -FilterScript ).Install(\AppSrvdspNewPackage.msi)
Приложения, не использующие технологию установщика Windows, могут поддерживать собственные методы автоматизированного развертывания. Сведения о наличии метода автоматизации развертывания обычно можно найти в документации к приложению или получить в системе технической поддержки его производителя. В отдельных случаях, даже если автоматизация установки не была явно предусмотрена производителем приложения, некоторые методы автоматизации могут поддерживаться производителем ПО установщика.
Удаление приложений
Удаление пакета, установленного при помощи установщика Windows, осуществляется в оболочке Windows PowerShell приблизительно так же, как и установка пакета. В следующем примере выбор пакета для удаления производится на основе его имени, но в отдельных случаях удобнее использовать фильтр IdentifyingNumber:
(Get-WmiObject -Class Win32_Product -Filter «Name=’ILMerge'» -ComputerName . ).Uninstall()
Удаление других приложений несколько сложнее, даже если производится локально. Команды удаления таких приложений из командной строки содержатся в свойстве UninstallString. Следующий метод пригоден как для приложений, установленных при помощи установщика Windows, так и для старых программ, перечисленных в разделе Uninstall:
Get-ChildItem -Path Uninstall: | ForEach-Object -Process
При необходимости можно отфильтровать вывод по отображаемому имени:
Get-ChildItem -Path Uninstall: | Where-Object -FilterScript < $_.GetValue(«DisplayName») -like «Win*»>| ForEach-Object -Process
Однако полученные команды не всегда можно использовать в командной строке Windows PowerShell без изменений.
Обновление приложений, установленных при помощи установщика Windows
Для обновления приложения необходимо знать имя обновляемого приложения и путь к пакету обновления приложения. При наличии этих сведений обновление приложения осуществляется в Windows PowerShell при помощи одной команды:
(Get-WmiObject -Class Win32_Product -ComputerName . -Filter «Name=’OldAppName'»).Upgrade(\AppSrvdspOldAppUpgrade.msi)
Источник: www.forsenergy.com
установка msi через powershell
Вы можете использовать класс Win32_Product для удаленной или локальной установки пакетов установщика Windows.
Примечание
Чтобы установить приложение, запустите PowerShell, используя параметр «Запуск от имени администратора».
Если установка выполняется удаленно, используйте сетевой UNC-путь, чтобы указать путь к пакету MSI, так как подсистема WMI не распознает пути PowerShell. Например, чтобы установить пакет NewPackage.msi, расположенный в сетевой папке \AppServdsp на удаленном компьютере PC01, введите следующую команду в командной строке PowerShell:
Vinny
Случайный прохожий
Вы можете использовать класс Win32_Product для удаленной или локальной установки пакетов установщика Windows.
Примечание
Чтобы установить приложение, запустите PowerShell, используя параметр «Запуск от имени администратора».
Если установка выполняется удаленно, используйте сетевой UNC-путь, чтобы указать путь к пакету MSI, так как подсистема WMI не распознает пути PowerShell. Например, чтобы установить пакет NewPackage.msi, расположенный в сетевой папке \AppServdsp на удаленном компьютере PC01, введите следующую команду в командной строке PowerShell:
неее, эт немного не то. Это установка с удаленного ресурса а мне надо на другой комп в сети поставить msi как то.
Anatoly
Участник
Step1 : Configure the computer to receive remote commands
Step2 : Check and Set execution policy unrestricted
Check Execution policy Status
Set execution policy unrestricted
Step 3 : Use Set-Item to add a computer name to an existing list of TrustedHosts
Set-Item WSMan:localhostClientTrustedHosts -Value «*» -Force
Step 4 : Download above powershell script and edit as per your requirement before execute
Вложения
remote installation.zip
331 байт · Просмотры: 26
Не внятное ТЗ — результат — ХЗ
Vinny
Случайный прохожий
Step1 : Configure the computer to receive remote commands
Это выполняется на компьютере назначения же ?
Vinny
Случайный прохожий
У меня почему то PS ошибку дает
PS C:Windowssystem32> Enter-PSSession -ComputerName PC >> C:scriptslog.txt Enter-PSSession : Сбой подключения к удаленному серверу PC. Сообщение об ошибке: Клиенту не удается подключиться к узлу назначения, указанному в запросе. Убедитесь, что служба на узле назначения работает и принимает запросы.
Ознако мьтесь с журналами и документацией для определения запущенной на узле назначения службы WS-Management (чаще всего это I IS или WinRM). Если это служба WinRM, то для анализа состояния и настройки этой службы используйте на удаленном узле ко манду «winrm quickconfig». Подробности см. в разделе справки «about_Remote_Troubleshooting». строка:1 знак:1 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (PC:String) [Enter-PSSession], PSRemotingTransportException + FullyQualifiedErrorId : CreateRemoteRunspaceFailed
Surf_rider
Администратор
Команда форума
раздайте групповыми политиками и всего делов
Поделиться:
- Технические форумы
- Microsoft
- Windows Server
На данном сайте используются cookie-файлы, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших cookie-файлов.
Источник: sysadmins.online