首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >WinServer 2012上的WSHShell。ExpandEnvironmentStrings不返回%computername%和%sessionname%变量

WinServer 2012上的WSHShell。ExpandEnvironmentStrings不返回%computername%和%sessionname%变量
EN

Stack Overflow用户
提问于 2015-04-13 05:56:06
回答 1查看 460关注 0票数 0

我使用的脚本应该返回%COMPUTERNAME%和%SESSIONNAME%环境变量。我在WinServer 2008上运行这个脚本,它工作得很好。我在WinServer 2012上运行相同的脚本,但它不起作用。它只返回"%COMPUTERNAME%“和"%SESSIONNAME%”,而不是此变量的值。我已经为我在“系统变量”选项菜单中找到的其他环境变量测试了这个脚本,它工作得很好。在WinServer 2012中,这个函数和那些特殊变量是否有一些特殊之处?

备注:当我在cmd中创建"echo %COMPUTERNAME%“和"echo %SESSIONNAME%”时,它返回正确的值。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2015-04-13 06:42:35

我已经在服务器2012 Standart 6.2.9200 N/A Build 9200上运行了以下vbs

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Set wshShell = CreateObject( "WScript.Shell" )
WScript.Echo wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
WScript.Echo wshShell.ExpandEnvironmentStrings( "%SESSIONNAME%" )

我得到了我的服务器/会话的返回值,我猜这里不是操作系统的问题。您是否尝试过在命令行中输入SET,并查看变量是否使用预期的值进行了初始化?

还有另一种从shell获取ENV VARS的方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
WScript.Echo wshShell.Environment("Process").Item("COMPUTERNAME") 

请注意,在此方法中,您可以而且应该指定environment variable的作用域

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29598670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文