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

Kri*_*per 8 powershell powershell-remoting

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

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

Sha*_*evy 10

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

$PSSenderInfo

包含有关启动PSSession的用户的信息,包括用户标识和原始计算机的时区.此变量仅在PSSession中可用.

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