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