curl http://url/script.ps1 | powershell可能吗?

时间:2013-04-23 16:52:42

标签: powershell curl stream

我只想复制我在Linux系统上执行的相同行为

c:\> \{CURL_EQUIVALENT_ON_WINDOWS} - http://url/script | powershell 

这可能吗?

基本上我想执行从服务器下载的流。

IE:步骤:

1)了解如何在PowerShell中执行流。 执行一个流(我已在文件系统上拥有)

c:\> type script.ps1 | powershell -command - 

但这不起作用。

有一个选项-File来执行“文件”,基本上我想尽可能执行流。

2)了解如何执行我从服务器下载并将其传输到PowerShell的流。

2 个答案:

答案 0 :(得分:7)

感谢dugas,我学习了如何使用powershell执行流,并使用此链接http://blog.commandlinekungfu.com/2009/11/episode-70-tangled-web.html我了解如何使用powershell从http中获取内容作为流。

所以最后的卷曲| powershell管道看起来像这样:

PS C:\>(New-Object System.Net.WebClient).DownloadString("http://url/script.ps1") | powershell -command -

非常感谢为这个问题做出贡献的每个人: - )

答案 1 :(得分:3)

您可以使用连字符指定powershell的命令参数,以使其从标准输入读取命令。以下是一个例子:

"Write-Host This is a test" | powershell -command -

使用脚本文件内容的示例:

Get-Content .\test.ps1 | powershell -command -

来自powershell帮助菜单:

powershell /?
  

-Command
      执行指定的命令(和任何参数),就像它们一样       在Windows PowerShell命令提示符下键入,然后退出,除非       指定了NoExit。 Command的值可以是“ - ”,一个字符串。或者a       脚本块。

If the value of Command is "-", the command text is read from standard
input.