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

发布于 2024-08-23 16:11:50 字数 258 浏览 4 评论 0原文

我的 MSI 安装程序在通过远程桌面运行时会失败。 (除非它使用 /admin 或 /console 选项运行,以便获得会话 0)

我想使用 VBScript 自定义操作来确定我是否作为会话 0 运行。我了解到我可以使用两个 WMI 调用确定这一点:

  • GetCurrentProcessID()
  • ProcessIdToSessionId()

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

I have an MSI installer that fails if it is running over remote desktop. (Unless it is run with the /admin or /console option so that it gets session 0)

I want to use a VBScript custom action to determine if I am running as Session 0. I've learned that I can use two WMI calls to determine this:

  • GetCurrentProcessID()
  • ProcessIdToSessionId()

However, I have no clue how to call these things in VBScript. And ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

呆° 2024-08-30 16:11:50
Set oShell = CreateObject("WScript.Shell")
connection = oShell.ExpandEnvironmentStrings("%SESSIONNAME%")
WScript.Echo connection

"Console" = 本地计算机

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

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

"Console" = local machine

"RDP-Tcp#0" = Remote Desktop (0 can be any number)

尛丟丟 2024-08-30 16:11:50

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

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

Here's a much easier solution:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文