我正在使用一个应该返回%COMPUTERNAME%和%SESSIONNAME%环境变量的脚本。我在WinServer 2008上运行该脚本,它运行正常。我在WinServer 2012上运行相同的脚本,但它不起作用。它只返回"%COMPUTERNAME%"和"%SESSIONNAME%"而不是这个变量的值。我已经在这个脚本中测试了我在"系统变量"中发现的其他环境变量。选项菜单,它工作得很好。 WinServer 2012中是否存在针对此函数和那些特定变量的一些棘手问题?
P.S。当我制作" echo%COMPUTERNAME%"和" echo%SESSIONNAME%"在cmd中,它返回正确的值。
提前致谢!
答案 0 :(得分:0)
我在服务器2012 Standart 6.2.9200 N / A Build 9200上运行了以下vbs
Set wshShell = CreateObject( "WScript.Shell" )
WScript.Echo wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
WScript.Echo wshShell.ExpandEnvironmentStrings( "%SESSIONNAME%" )
我得到了我的服务器/会话的值,我猜这个操作系统不是问题..你是否尝试在命令行中键入SET
并查看变量是否使用您期望的值进行初始化他们是?
还有另一种从shell获取ENV VARS的方法
WScript.Echo wshShell.Environment("Process").Item("COMPUTERNAME")
请注意,在此方法中,您可以并且应该指定environment variable
的范围