我已经成功运行了winrm,我可以在shell中运行Enter-PSSession my-machine
,然后输入命令。但是,当我尝试运行启动远程会话的脚本时,所有后续调用都在本地计算机上运行。例如:
PS> test.ps1
test.ps1的内容
Enter-PSSession remote-pcname
gc env:computername
打印出local-pcname
而不是remote-pcname
知道为什么脚本文件不支持远程会话?它肯定是成功连接的,因为当脚本完成后,我将返回到远程机器的shell提示符。
答案 0 :(得分:6)
简短的回答是:Enter-PSSession旨在用于交互式使用。如果要从脚本在远程系统上执行命令,请使用invoke-command。
Technet论坛上的类似帖子在这里: http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/90e92d4e-716b-4b4d-956f-d38645e5c035
答案 1 :(得分:4)
对我来说,它的工作记录如下。 Enter-PSSession
启动交互式会话,用于交互式使用。
因此,要执行脚本,您可以使用New-PSSession
使用您使用New-PSSession创建的远程会话创建会话和Invoke-Command。