如何确定VBScript是否在RDP控制台中运行?

时间:2010-03-04 21:48:55

标签: vbscript wmi

如果MSI安装程序在远程桌面上运行,则会失败。 (除非它使用/ admin或/ console选项运行,以便它获得会话0)

我想使用VBScript自定义操作来确定我是否以会话0的形式运行。我已经了解到我可以使用两个WMI调用来确定:

  • GetCurrentProcessID()
  • ProcessIdToSessionId()

但是,我不知道如何在VBScript中调用这些东西。和想法?

2 个答案:

答案 0 :(得分:2)

Set oShell = CreateObject("WScript.Shell")
connection = oShell.ExpandEnvironmentStrings("%SESSIONNAME%")
WScript.Echo connection

“控制台”=本地计算机

“RDP-Tcp# 0 ”=远程桌面( 0 可以是任意数字)

答案 1 :(得分:2)

这是一个更简单的解决方案:

Set oShell = CreateObject( "WScript.Shell" )
sessionName=oShell.ExpandEnvironmentStrings("%SESSIONNAME%")
if ( sessionName = "Console" ) then 

    Msgbox "You are running directly!"
else

    MsgBox "You are in a Remote Session!"

end if