Obtém a versão do driver de dispositivo e o GUID associado usando o PowerShell?

1

Neste momento, estou recebendo dois objetos separados

  1. Um objeto WMI Win32_NetworkAdapter
  2. Um objeto WMI Win32_PnpSignedDriver

Em meus scripts anteriores, verifiquei que estava chamando objetos separados e relacionando-os pelo GUID

     $mydev = Get-WmiObject -class Win32_NetworkAdapter | Where-Object {$_.pnpdeviceid -like "*VEN_0000&DEV_00AA*"}

     If ($mydev.GUID -eq $relatedobj.ParentID)
     {
         action
     }

Mas não há GUID / ParentID / etc. propriedade para um objeto Win32_PnpSignedDriver. Existe outra maneira de obter informações sobre os drivers de um dispositivo (especificamente, a versão do driver) e também obter o GUID do dispositivo? É possível fazer isso ganhar o Win32_PnpSignedDriver, e eu simplesmente não estou vendo isso?

    
por EGr 05.10.2012 / 15:26

1 resposta

0

Encontrei um jeito fácil de contornar isso. Eu não sou muito bom com o registro, então foi o último lugar que eu olhei; mas usá-lo torna muito mais fácil encontrar a informação que eu estava procurando.

Eu comparo as informações do nic da mesma maneira que no meu post original (com o objeto WMI Win32_NetworkAdapter), mas comparo o GUID ao valor do registro. Isso pode ser feito usando a seguinte linha para obter todas as nics:

    $nicreg = Get-ChildItem -path "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\" -ErrorAction SilentlyContinue

    foreach ($nic in $nicreg)
    {
        # do stuff with driver versions
    }

E, em seguida, iterando por cada NIC comparando $ nic.GetValue ("NetCfgInstanceId") a $ mydev.GUID. Depois de ter confirmado que você está olhando para o nic certo, verificando o GUID, você pode obter $ nic.GetValue ("DriverVersion") para o dispositivo que você está olhando.

    
por 05.10.2012 / 23:06