Kuinka nopeasti tarkistaa asennetut ohjelmistoversiot

on tilanteita, joissa sinun on tarkistettava, onko sinulla tai käyttäjilläsi asennettuna tiettyjä ohjelmistoja ja mikä on sen versio. Haluat ehkä tarkistaa, onko ohjelmisto ajan tasalla tai onko GPO-käyttöön otettu ohjelmisto asennettu tietylle käyttäjälle. Näytän sinulle useita menetelmiä, joilla voit tarkistaa sen Powershellissa.

kuinka tarkistaa asennettu ohjelmistoversio

Nopea navigointi:

  • Tarkista asennettujen ohjelmistojen luettelo paikallisesti
    • Get-WmiObject
    • Rekisterikysely
    • tapahtumaloki
  • Tarkista asennettujen ohjelmistojen luettelo etänä
    • Get-WmiObject
    • rekisterin kysely
    • tapahtumaloki
  • Tarkista, että jos GPO-käyttöön otettua ohjelmistoa on sovellettu onnistuneesti

tarkista, mitä tietokoneellesi on asennettu

, voit aina käyttää ohjelmia ja ominaisuuksia ohjauspaneelissa tai selata kaikkia levyosioita etsiessäsi tiettyä sovellusta. Voit jopa yrittää löytää sovelluksen Käynnistä-valikosta, jotta se voidaan käynnistää ja etsiä sen versionumero manuaalisesti. Ongelmana näissä menetelmissä on kuitenkin se, että ne ovat niin kaukana ”nopeista ja automaattisista” kuin ne voivat olla. Tarkistamalla asennetut ohjelmistoversiot Powershellilla voit kerätä tarvitsemasi tiedot paljon nopeammin.

Get installed software list with Get-WmiObject

the firstmethod is niinkin yksinkertainen kuin liittämällä yksinkertainen kysely:

Get-WmiObject -Class Win32_Product
asennetun ohjelmistoversion tarkistaminen-Get-WmiObject

voit myös helposti suodattaa tietoja löytääksesi tietyn sovelluksen yksittäiseltä toimittajalta, yhdessä niiden versioiden kanssa, esim.:

Get-WmiObject -Class Win32_Product | where vendor -eq CodeTwo | select Name, Version
 asennetun ohjelmistoversion tarkistaminen-Get-wmiobject-suodatettu

Despitebeing erittäin helppoa, tämä menetelmä on merkittävä haittapuoli-se kestää melko kauan palauttaa tuloksia.

Kyselyrekisteri asennetuille ohjelmistoille

Anothermethod to get a list of installed software is querying the registry. The following short script palauttaa sovellusluettelon versioineen:

$InstalledSoftware = Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall"foreach($obj in $InstalledSoftware){write-host $obj.GetValue('DisplayName') -NoNewline; write-host " - " -NoNewline; write-host $obj.GetValue('DisplayVersion')}
asennetun ohjelmistoversion tarkistaminen-rekisterikysely

nyt, ottaa aquick tarkastella HKLM Elementti lihavoitu edellä. Se tarkoittaa, että lista ofsoftware palauttaa script on kaikki ohjelmistot asennettu lm-localmachine. Sovelluksia voidaan kuitenkin asentaa myös käyttäjäkohtaisesti. Jos haluat palauttaa luettelon kirjautuneen käyttäjän sovelluksista, muuta HKLM: ksi HKCU(CU tarkoittaa ”nykyinen käyttäjä”):

$InstalledSoftware = Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall"
foreach($obj in $InstalledSoftware){write-host $obj.GetValue('DisplayName') -NoNewline; write-host " - " -NoNewline; write-host $obj.GetValue('DisplayVersion')}

saada luettelo äskettäin asennetuista ohjelmistoista tapahtumalokista

jos haluat tarkistaa vain äskettäin asennetun ohjelmiston, voit käyttää seuraavaa cmdlettoa etsiäksesi tapahtumalokia.

Get-WinEvent -ProviderName msiinstaller | where id -eq 1033 | select timecreated,message | FL *

tämä asennettujen ohjelmistojen löytämistapa on luotettavin äskettäin lisätyille elementeille, koska oletusarvoisesti tapahtumalokit on asetettu ylikirjoittamaan vanhimmat tietueet(ympyrälokki).

Learn more about using PowerShell to check Windows Event Loc and filtering results

Get a list of installledsoftware etänä

jokaista edellä mainittua menetelmää voidaan käyttää myös muihin saman verkon koneisiin asennettujen ohjelmistojen tarkistamiseen. Jos luot luettelon kaikista verkon tietokonenimistä, voit käyttää alla olevia menetelmiä Foreach-silmukan sisällä palauttaaksesi tuloksia useammalta kuin yhdeltä etätietokoneelta.

$pcname jokaisessa skriptissä tarkoittaa sen etätietokoneen nimeä, johon haluat saada luettelon asennetuista ohjelmistoista ja niiden versioista.

Get installed softwarelist with remote Get-Wmiobject command

Thefollowing cmdlet on jälleen joukon helpoin, mutta se voi kestää jonkin aikaa:

Get-WmiObject Win32_Product -ComputerName $pcname | select Name,Version

missä$pcname on sen tietokoneen nimi, jota haluat kysellä.

Tarkista asennettu ohjelmisto etärekisterikyselyllä

etärekisterikyselyt ovat hieman monimutkaisempia ja edellyttävät Etärekisteripalvelun suorittamista. Otoskysely on seuraava:

$list=@()$InstalledSoftwareKey="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"$InstalledSoftware=::OpenRemoteBaseKey('LocalMachine',$pcname)$RegistryKey=$InstalledSoftware.OpenSubKey($InstalledSoftwareKey) $SubKeys=$RegistryKey.GetSubKeyNames()Foreach ($key in $SubKeys){$thisKey=$InstalledSoftwareKey+"\"+$key$thisSubKey=$InstalledSoftware.OpenSubKey($thisKey)$obj = New-Object PSObject$obj | Add-Member -MemberType NoteProperty -Name "ComputerName" -Value $pcname$obj | Add-Member -MemberType NoteProperty -Name "DisplayName" -Value $($thisSubKey.GetValue("DisplayName"))$obj | Add-Member -MemberType NoteProperty -Name "DisplayVersion" -Value $($thisSubKey.GetValue("DisplayVersion"))$list += $obj}$list | where { $_.DisplayName } | select ComputerName, DisplayName, DisplayVersion | FT
asennetun ohjelmistoversion tarkistaminen-registry query table view

Tarkista äskettäin asennetut ohjelmat-luettelo tapahtumalokista etänä

auserin tapahtumalokin tarkistaminen etänä edellyttää yhden attribuutin (- Tietokonenimen) lisäämistä ennen käytettyyn cmdletiin:

Get-WinEvent -ComputerName $pcname -ProviderName msiinstaller | where id -eq 1033 | select timecreated,message | FL *

Tarkista, sovellettiinko yleisen ryhmäpoikkeuksen käyttöönotettua ohjelmistoa onnistuneesti

jos SOVELLIT tiettyä ohjelmistoversiota yleisen ryhmäpoikkeusasetuksen kautta, voit helposti tarkistaa, sovellettiinko tätä ryhmäpoikkeusasetusta onnistuneesti käyttäjälle vai ei. Tarvitset vain gpresult-työkalun ja kohdetietokoneen ja käyttäjän nimet:

gpresult /s "PCNAME" /USER "Username" /h "Target location of theHTML report"

sitten, etsiä GPOname ja tarkista, jos se on lueteltu sovellettu GPOs tai evätty GPOs.Alla oleva näyte GPO kuuluu sovellettuun GPO-ryhmään.

asennetun ohjelmistoversion tarkistaminen-gpresult html report