terminal服务器上的环境variables客户端范围

我有一个需要CLIENTNAME环境variables的脚本,它运行在terminal服务器上。 我有一个batch file进行testing,其中包含: set CLIENTNAME; 暂停

如果我作为pipe理员的RDP:如果我打开命令提示符,运行脚本,它显示客户端名称。 如果我双击脚本,则CLIENTNAMEvariables不存在。

如果我从igel / wyseterminallogin:如果我双击同一个脚本,它显示客户端名称。

其他细节:2008R2,XenApp 6.5,作为域pipe理员进行testing。

环境variablesCLIENTNAME发生了什么? 为什么当我双击batch file的时候,如果我是RDPd的服务器,但是如果命令提示符已经打开,是否存在? 所有其他的环境variables似乎在那里。

症状与远程桌面连接远程连接时,环境variablesCLIENTNAMESESSIONNAME被添加到每个启动的进程。

如果将“文件夹选项”设置为“在单独的进程中启动文件夹窗口”,然后从其他资源pipe理器窗口启动应用程序,则应用程序将不会看到这些额外的环境variables。

原因其他资源pipe理器窗口不是父Explorer.exe进程的子窗口,但从系统进程启动。 因此它不会从资源pipe理器主窗口inheritance环境。

解决scheme如果您的应用程序依赖于这些variables,请删除文件夹选项“在单独的进程中启动文件夹窗口”。

客户名称和会话名称环境变量可能会丢失

报价:客户名称和会话名称环境variables可能会丢失 。