如何判断我是否处于远程PowerShell会话中?

时间:2012-12-31 15:12:29

标签: powershell powershell-remoting

我想执行特定于远程PSSession的代码。也就是说,代码不适用于本地,但适用于所有远程会话。

是否存在任何环境变量,函数或cmdlet,如果我处于活动的PSSession中,则会有效地返回true;如果我在本地运行,则会返回false?

1 个答案:

答案 0 :(得分:10)

检查$PSSenderInfo变量是否存在。来自 about_Automatic_Variables

  

$PSSenderInfo

     

包含有关启动PSSession的用户的信息,   包括用户身份和发起的时区   电脑。此变量仅在PSSessions中可用。

     

$PSSenderInfo变量包含用户可配置的属性,   ApplicationArguments,默认情况下仅包含。{   来自原始会话的$PSVersionTable。要添加数据   ApplicationArguments属性,请使用ApplicationArguments参数   New-PSSessionOption cmdlet。