Как удаленно удалить и установить программу с помощью PowerShell

Если у вас нет инструмента развертывания программного обеспечения, такого как PDQ Deployment, удаление программ с удаленного компьютера может быть довольно болезненным. И снова здесь PowerShell сияет.

Прежде всего, давайте посмотрим, как получить список установленных программ на удаленном компьютере:

 Get-WmiObject  Win32_Product -ComputerName $ computername |  Select-Object -Property IdentifyingNumber, Name 

Чтобы найти определенную программу, установленную на удаленном компьютере :

 Get-WmiObject Win32_Product -ComputerName $ computername |  Where-Object {$ _. IdentifyingNumber -eq $ number} 

Теперь давайте удалим эту программу.

 (Get-WmiObject Win32_Product -ComputerName $ computername | Where-  Object {$ _. IdentifyingNumber -eq $ number}). Uninstall () 

Чтобы избежать сообщения об ошибке при попытке удалить несуществующую программу.

  $ ComputerName = 'Computer' $ number = '{AC76BA86-1033-FFFF-7760-0E1108756300}' #Adobe Acrobat ID $ adobe = Get-WmiObject Win32_Product -ComputerName $ ComputerName |  Where-Object {$ _. IdentifyingNumber -eq $ number} if ($ adobe) {$ adobe.Uninstall ()} else {$ number + 'не установлен на' + $ ComputerName}  

Как насчет установки программы на удаленный компьютер? Это немного сложнее и зависит от установочного пакета. Если это пакет MSI или пакет, в котором есть опция «без вывода сообщений», PowerShell сможет позаботиться об этом.

Если установочный пакет уже находится на удаленном компьютере,

 Invoke-Command -ComputerName $ computer -ScriptBlock {Start-Process 'c:  temp  setup.exe' -ArgumentList '/slient' -Wait} 

Но если нет, вы необходимо сначала скопировать пакет, а затем запустить процесс установки.

Вот более полный пример:

  $ computer = 'computer1'  $ session = New-PSSession -ComputerName $ computerCopy-Item -Path ' server  software  sophosetup.exe' -ToSession $ session -Destination 'c:  windows  temp  sophossetup.exe' -ForceInvoke-Command -Session $ session  -ScriptBlock {Start-Process 'c:  windows  temp  sophosSetup.exe' -ArgumentList '--quiet' -Wait Move-Item -Path 'c:  windows  temp  sophossetup.exe'}  

В качестве примера я взял программное обеспечение Sophos, но вы должны уловить идею.

Наконец, подумал упомянуть об этом, чтобы получить PowerShe Для работы всех сценариев на удаленных компьютерах необходимо выполнить два предварительных условия.

  • WinRM должен быть включен на удаленном компьютере.
  • Вы необходимы правильные учетные данные для запуска сценария на удаленном компьютере.
Оцените статью
toodcast.ru
Добавить комментарий