【问题标题】:Running remote scripts in powershell在 powershell 中运行远程脚本
【发布时间】:2015-06-17 14:20:35
【问题描述】:

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

PS> test.ps1

test.ps1 的内容

Enter-PSSession remote-pcname
gc env:computername

打印出local-pcname 而不是remote-pcname 知道为什么脚本文件不支持远程会话吗?它肯定是成功连接,因为当脚本完成时,我会返回到远程机器的 shell 提示符。

【问题讨论】:

    标签: powershell powershell-2.0 powershell-remoting


    【解决方案1】:

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

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

    【讨论】:

    • +1 你之前回答过,但正如它所写的那样,我还是发布了它
    【解决方案2】:

    对我来说,它按记录工作。 Enter-PSSession 启动一个交互式会话,它是用于交互式使用的。

    因此,要执行脚本,您可以使用 New-PSSession 创建会话并使用您使用 New-PSSession 创建的远程会话来调用命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-14
      • 1970-01-01
      • 2017-09-30
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      相关资源
      最近更新 更多