Bagaimana Untuk Mengosongkan dan Memasang Program Secara Pintar menggunakan PowerShell

Jika anda tidak mempunyai alat penyebaran perisian, seperti Penyebaran PDQ, menyahpasang program dari komputer jauh mungkin agak menyakitkan. Dan sekali lagi, di sinilah PowerShell bersinar.

Pertama sekali, mari kita lihat cara untuk mendapatkan senarai program yang dipasang pada komputer jauh:

Get-WmiObject Win32_Product -ComputerName $ computername | Pilih-Objek-Nama Pengenalpastian Nama, Nama

Untuk mencari program tertentu yang dipasang pada komputer jauh:

Get-WmiObject Win32_Product -ComputerName $ computername | Di mana-Objek {$ _. MengenalpastiNumber -eq $ number}

Sekarang mari mari buang program itu.

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

Untuk mengelakkan mesej ralat semasa cuba menyahpasang program tidak wujud.

$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 + ' is not installed on ' + $ComputerName
}

Bagaimana pula dengan memasang program pada komputer jauh? Itu agak rumit dan bergantung pada pakej pemasangan. Jika ia merupakan pakej MSI atau pakej yang mempunyai pilihan senyap, PowerShell harus dapat mengurusnya.

Jika pakej pemasangan sudah ada pada komputer jauh,

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

Tetapi jika tidak, anda perlu menyalin pakej terlebih dahulu dan kemudian menjalankan proses pemasangan.

Berikut adalah contoh yang lebih lengkap:

$computer = 'computer1'
$session = New-PSSession -ComputerName $computer
Copy-Item -Path 'serversoftwaresophosetup.exe' -ToSession $session -Destination 'c:windowstempsophossetup.exe' -Force
Invoke-Command -Session $session -ScriptBlock   {
   Start-Process 'c:windowstempsophosSetup.exe' -ArgumentList '--quiet' -Wait
   Move-Item -Path 'c:windowstempsophossetup.exe'    
} 

Saya mengambil perisian Sophos sebagai contoh tetapi anda harus mendapatkan idea itu.

Akhir sekali, fikir untuk mengatakan bahawa untuk mendapatkan skrip PowerShell berfungsi pada komputer jauh terdapat dua prasyarat yang perlu dipenuhi.

  • WinRM perlu didayakan pada komputer jauh
  • Anda memerlukan kelayakan yang betul untuk menjalankan skrip pada komputer jauh.

Source

Tinggalkan Komen

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.