在PowerShell中运行远程脚本
问题描述:
我已经成功地获得了winrm的工作,并且能够在shell中运行Enter-PSSession my-machine
并随后输入命令。但是,当我尝试运行启动远程会话的脚本时,所有后续调用均在本地计算机上运行。例如:在PowerShell中运行远程脚本
PS> test.ps1
test.ps1内容
Enter-PSSession remote-pcname
gc env:computername
打印出local-pcname
而不是remote-pcname
任何想法,为什么脚本文件没有履行的远程会话?它肯定是成功连接的,因为当脚本结束时,我返回到远程机器的shell提示符。
答
简短的回答是:Enter-PSSession旨在用于交互式使用。如果要从脚本执行远程系统上的命令,请使用invoke-command。
在TechNet论坛一个类似的线程是在这里: http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/thread/90e92d4e-716b-4b4d-956f-d38645e5c035
答
对我来说,工作的记录。 Enter-PSSession
开始交互式会话,它用于交互式使用。
因此,要执行脚本,您可以使用New-PSSession
创建会话并使用您使用New-PSSession创建的远程会话创建Invoke-Command。
+1你之前回答,但正如它写的,我发布它,即使 – JPBlanc 2011-05-25 03:44:36