Usando o VBScript no logon para determinar se o powershell está instalado

4

Eu tenho uma mistura de máquinas Win7 e XP na minha rede. Todo usuário faz logon usando um script de logon baseado em VBS e, para clientes que o suportam, quero mostrar um pop-up informativo, conforme mostrado aqui .

Como posso detectar se o Powershell está instalado usando o VBScript?

    
por random65537 26.04.2012 / 16:23

1 resposta

5

Você pode usar algo como o seguinte. Ele lê a chave do Registro para o PowerShell. Se a leitura for bem-sucedida (código de retorno 0) ou não, você obtém a caixa de mensagem correspondente, que pode ser trocada por outra lógica que você precisa fazer - como instalar o PowerShell, se não for detectado. Veja os links de origem abaixo para mais informações.

Option Explicit
Dim oShell
Dim value

'If the key isn't there when we try to read it, an error will be generated
'that we will later test for, so we want to automatically resume execution.
On Error Resume Next

'#Try reading the registry value
Set oShell = CreateObject("WScript.Shell")
value = oShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\")

'Catch the error
If Err.Number = 0 Then
    'Error code 0 indicates success
    MsgBox(Err.Number & "PowerShell is installed.")
Else
    'Any other error code indicates failure
    MsgBox(Err.Number & "PowerShell is NOT installed.")
End If

VBScript para verificar o registro de um aplicativo (por exemplo, .NET): link

Chaves de registro para verificar o PowerShell: link

    
por 26.04.2012 / 17:51