我使用的脚本应该返回%COMPUTERNAME%和%SESSIONNAME%环境变量。我在WinServer 2008上运行这个脚本,它工作得很好。我在WinServer 2012上运行相同的脚本,但它不起作用。它只返回"%COMPUTERNAME%“和"%SESSIONNAME%”,而不是此变量的值。我已经为我在“系统变量”选项菜单中找到的其他环境变量测试了这个脚本,它工作得很好。在WinServer 2012中,这个函数和那些特殊变量是否有一些特殊之处?
备注:当我在cmd中创建"echo %COMPUTERNAME%“和"echo %SESSIONNAME%”时,它返回正确的值。
提前感谢!
发布于 2015-04-13 06:42:35
我已经在服务器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的作用域
https://stackoverflow.com/questions/29598670
复制相似问题