Batch detecta a versão do Adobe Reader em vários computadores

2

Eu quero verificar e criar uma lista de versões do Adobe Reader instaladas em computadores em um site em um domínio.

Estou usando uma demonstração do Shavlik Netchk (software comercial) que funciona bem, mas estou pensando que essa tarefa poderia ser executada por um arquivo em lotes.

Existem duas chaves de registro para detectar:

  1. HKEY_CURRENT_USER \ SOFTWARE \ Adobe \ Acrobat Reader \ 10.0
  2. HKEY_CURRENT_USER \ SOFTWARE \ Adobe \ Acrobat Reader \ 9.0

Sou apenas um principiante com scripts do Windows.

    
por Steve 16.09.2011 / 06:03

3 respostas

2

A maneira mais fácil de fazer isso pode ser com o PowerShell. O nó HKLM não terá todas as subchaves, mas se você as fizer, funcionará bem.

Esta parte do script agarra a versão:

$SoftwareKey = "HKLM:\Software" 
if ((Get-WmiObject Win32_OperatingSystem).OSArchitecture -match "64-bit") { $SoftwareKey = "HKLM:\Software\WOW6432Node" } 

if (Test-Path "$SoftwareKey\adobe\Acrobat Reader") { 
$adobeversion = get-childitem "$SoftwareKey\adobe\Acrobat Reader" 
foreach ($version in $adobeversion) { 
Write-Output "Found verstion $($version.PSChildName) of Adobe Reader" 
} 
}

Isso fazia parte de um script maior que aceita automaticamente o EULA quando executado após a aplicação de uma atualização que leva o leitor a uma nova versão. O script inteiro está abaixo:

$SoftwareKey = "HKLM:\Software" 
if ((Get-WmiObject Win32_OperatingSystem).OSArchitecture -match "64-bit") { $SoftwareKey = "HKLM:\Software\WOW6432Node" } 

if (Test-Path "$SoftwareKey\adobe\Acrobat Reader") { 
$adobeversion = get-childitem "$SoftwareKey\adobe\Acrobat Reader" 
foreach ($version in $adobeversion) { 
if ((Test-Path "$($version.PSPath)\AdobeViewer") -eq $false) {New-Item "$($version.PSPath)\AdobeViewer"} 
New-ItemProperty -Path "$($version.PSPath)\AdobeViewer" -PropertyType DWORD -Value 1 -Name EULA -force 
} 
    
por 21.05.2012 / 22:59
0

É possível fazer com scripts em lote, verificando uma chave reg ou procurando o arquivo no disco e obtendo sua versão com filever.exe .

Mas, para ser honesto, acho que a maneira mais fácil é usar o software de auditoria, o WinAudit é gratuito, basta adicioná-lo o script de logon das máquinas clientes.

Como você perguntou especificamente sobre scripts em lote, isso consultará a chave reg. Você precisará fazer o loop em todas as estações de trabalho em seu domínio:

reg query "\[hostname or IP]\HKLM\SOFTWARE\Adobe\Acrobat Reader"

Você precisará verificar a chave HKLM, já que o HKCU só pode ser acessado facilmente pelo usuário atual da máquina.

    
por 16.09.2011 / 10:46
0

Shavlik é uma ótima ferramenta para implantação e reconhecimento de estado de software.

Ele também tem funções de relatório (que eu não usei quando o usei), mas que devem ser capazes de apresentar um relatório exportável de quais versões do Adobe Reader estão em seu ambiente.

De acordo com a documentação:
 - Resumo de relatórios
 - Exportando relatórios

Você precisará ir para Ferramentas - Criar relatório. Em Relatórios de recursos, deve haver um relatório disponível, intitulado Catálogo de software. Execute isso.

Em seguida, exporte o relatório selecionando Arquivo - Exportar, escolha o relatório relevante e Salvar.

Não deve ser muito difícil filtrar esse relatório no Excel para os tipos de software apropriados e desejados, pois ele deve conter os campos nome do software e versão.

O Shavlik é bastante preciso em seu conhecimento de software e eu não achei muito propenso a erros ou informações falsas.

    
por 21.05.2012 / 23:55