我只想复制我在Linux系统上执行的相同行为
c:\> \{CURL_EQUIVALENT_ON_WINDOWS} - http://url/script | powershell
这可能吗?
基本上我想执行从服务器下载的流。
IE:步骤:
1)了解如何在PowerShell中执行流。 执行一个流(我已在文件系统上拥有)
c:\> type script.ps1 | powershell -command -
但这不起作用。
有一个选项-File来执行“文件”,基本上我想尽可能执行流。
2)了解如何执行我从服务器下载并将其传输到PowerShell的流。
答案 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.