Verificação do caminho de teste para acesso com o powershell

1

Estou tentando descobrir quem na minha rede tem o Access instalado. Eu tive vários problemas para fazer a lista funcionar corretamente, então usei o arquivo txt de saída. De qualquer forma, mesmo que não seja uma ótima maneira de fazer isso, ainda deve funcionar. Alguém pode me dizer por que isso não está funcionando?

$Computers = Get-QADComputer | select name | Out-File "c:\access_search.txt"
$Computers = Get-Content "c:\access_search.txt"
$Path = "\c$\Program Files\Microsoft Office\Office12\Access.pip"
$AccessPath = "\" + $PCName + $Path
Foreach ($PCname in $Computers){
$Result = Test-Path $AccessPath
if ($Result -eq "True")
{$Pcname}
}
    
por Brandan 21.09.2011 / 15:28

2 respostas

2

Você não está testando o caminho correto, pois está sendo atribuído antes do loop foreach , no qual você define $PCname . Isso significa que você está testando o caminho \\c$\Program Files\Microsoft Office\Office12\Access.pip todas as vezes.

Tente isto:

$Computers = Get-QADComputer | select name | Out-File "c:\access_search.txt"
$Computers = Get-Content "c:\access_search.txt"
$Path = "\c$\Program Files\Microsoft Office\Office12\Access.pip"
Foreach ($PCname in $Computers){
    $AccessPath = "\" + $PCName + $Path
    $Result = Test-Path $AccessPath
    if ($Result -eq "True")
        {$Pcname}
}
    
por 21.09.2011 / 15:55
2

Embora a abordagem de verificação de um arquivo específico possa funcionar em alguns casos, ele não considera o arquivo existente, mas não está instalado; ou o Access sendo instalado, mas em um local diferente.

Para evitar que esses dois WMI possam ser usados (incluindo remotamente) para ler diretamente os dados do MSI.

gwmi -comp ComputerNameGoesHere WIn32_SoftwareFeature -filter "name like 'access%' and productname like 'microsoft%'" |
  fl Name,ProductName,Version,Vendor

retornou vários resultados em cada um dos dois computadores com o Access (2010, um x86, uma vez x64, como parte do Office Professional Plus) e nenhum resultado em um sistema sem o Office instalado. As regras de filtragem podem precisar de ajustes para uma instalação autônoma do Access ou versões anteriores.

    
por 21.09.2011 / 16:23

Tags