如果我可以通过HTTP访问Powershell脚本,我该如何下载它并像在bash中那样在运行中执行它?
curl --user user:pass https://fake.url | bash
答案 0 :(得分:2)
curl | bash
一样,甚至更糟,curl | sudo bash
。 在大多数情况下,您可以使用WebClient.DownloadString
并将其传递给Invoke-Expression
:Invoke-Expression (New-Object Net.WebClient).DownloadString(«url»)
。我不确定是否仍会为变量打开script:
范围,因此如果在脚本中使用该范围,它可能无效。在这种情况下,您可以将其作为文件下载并执行脚本。然后,您还必须处理执行策略。
答案 1 :(得分:1)
尝试
curl --user user:pass https://fake.url | powershell -Command -
如果Command的值为" - ",则从标准输入读取命令文本。