Как определить, работает ли VBScript в RDP Console? - PullRequest
1 голос
/ 05 марта 2010

У меня есть установщик MSI, который не работает, если он работает через удаленный рабочий стол. (Если только он не запущен с параметром / admin или / console, поэтому он получает сеанс 0)

Я хочу использовать настраиваемое действие VBScript, чтобы определить, запущен ли я как сеанс 0. Я узнал, что могу использовать два вызова WMI для определения этого:

  • GetCurrentProcessId ()
  • ProcessIdToSessionId ()

Однако я понятия не имею, как вызывать эти вещи в VBScript. А идеи?

Ответы [ 2 ]

2 голосов
/ 05 марта 2010

Вот гораздо более простое решение:

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
2 голосов
/ 05 марта 2010
Set oShell = CreateObject("WScript.Shell")
connection = oShell.ExpandEnvironmentStrings("%SESSIONNAME%")
WScript.Echo connection

«Консоль» = локальная машина

"RDP-Tcp # 0 " = Удаленный рабочий стол ( 0 может быть любым числом)

...