You could use something like the following. It reads the registry key for PowerShell. If the read is successful (return code 0), or not, you get the corresponding message box, which you can switch out for other logic you need to do--like install PowerShell if it's not detected. See the source links below for more info.
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\1\")
'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 to check the registry for an application (example is .NET):
https://stackoverflow.com/questions/4394607/vbscript-to-check-if-net-2-0-is-installed
Registry keys to check for PowerShell:
http://blogs.msdn.com/b/powershell/archive/2009/06/25/detection-logic-poweshell-installation.aspx