在PowerShell中运行远程脚本

Mic*_*cah 1 powershell powershell-2.0 powershell-remoting

我成功地让winrm工作了,我能够Enter-PSSession my-machine在shell中运行并随后输入命令.但是,当我尝试运行启动远程会话的脚本时,所有后续调用都在本地计算机上运行.例如:

PS> test.ps1
Run Code Online (Sandbox Code Playgroud)

test.ps1的内容

Enter-PSSession remote-pcname
gc env:computername
Run Code Online (Sandbox Code Playgroud)

打印出local-pcname而不是remote-pcname任何想法为什么脚本文件不尊重远程会话?它肯定是成功连接的,因为当脚本完成后我返回到远程机器的shell提示符.

mjo*_*nor 6

简短的回答是:Enter-PSSession旨在用于交互式使用.如果要从脚本在远程系统上执行命令,请使用invoke-command.

Technet论坛上有一个类似的主题:http: //social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/90e92d4e-716b-4b4d-956f-d38645e5c035