WMI em vez do comando WMIC para localizar a versão do aplicativo?

3

Estou usando o wmic para encontrar a versão atual de um aplicativo interno. Meu comando é assim:

wmic product where "name='Application Name'" get version

Eu nunca usei o wmi, mas eu li sobre pessoas dizendo que é mais fácil de usar que o wmic. Eu acho que meu uso é bem simples, mas como eu usaria o wmi para isso, e seria mais rápido que o wmic? (wmic corre muito devagar por mim)

    
por WhiteHotLoveTiger 10.12.2015 / 14:21

3 respostas

2

Li coisas ruins sobre como usar Win32_Product . Eu não sei os detalhes sobre isso, então talvez esteja tudo bem neste caso, mas acabei indo com o seguinte depois de ler este blog e pedindo esta questão :

$regpath = 'HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall'
$version = Get-ItemProperty "$regpath\*" |
           Where-Object { $_.DisplayName -eq 'Application Name' } |
           Select-Object -Expand DisplayVersion
    
por 10.12.2015 / 16:02
2

PowerShell

Get-WMIObject -Query "SELECT Version FROM Win32_Product WHERE Name='SomeName'"
    
por 10.12.2015 / 14:42
1

Para emular o comando wmic que você publicou usando o WMI, abra um prompt e uma entrada do PowerShell:

Get-WmiObject -Class "Win32_Product" | Where-Object { $_.Name -eq "Application Name" } | select Name,Version

Você pode usar { $_.Name -like "*application*" } para melhor correspondência, se necessário.

Isso também pode ser executado em máquinas remotas e / ou usando credenciais diferentes, adicionando os parâmetros -ComputerName e -Credential .

    
por 10.12.2015 / 14:41

Tags