PowerShell 技能连载 - 下载脚本文件的最佳方式
有时候,PowerShell 脚本的作者将脚本放在直接下载的服务器上。让我们寻找一种最有效的通过 PowerShell 下载文本文件的方法。我们将以 PowerShell Team 成员 Lee Holmes 发布的著名的 “Dancing Rick ASCII” 脚本作为我们的例子。它的下载地址位于这里(需要翻墙):
当在浏览器中打开时,您将会见到以纯文本方式显示的 PowerShell 源代码,并且原始的 URL 将会显示在浏览器的地址栏里:
http://www.leeholmes.com/projects/ps_html5/Invoke-PSHtml5.ps1
许多用户像这样使用 .NET 方法来下载文本文件:
1 | # download code |
其实并不需要这样,因为 Invoke-WebRequest
是对该对象的更好的封装:
1 | # download code |
通过它的参数,它能直接支持代理并且支持凭据。
还有一个更方便的 cmdlet Invoke-RestMethod
。它基本上做的是相同的是,不过返回的数据是文本,JSON,或 XML:
1 | # download code |
假设您信任这段代码,相信它不会损害您的系统,您可以这样执行它:
1 | # invoke the code |
或者,您可以将它保存到磁盘,并且以一个普通的 PowerShell 脚本的方式执行它:
1 | # download code |
如果您打算先将内容保存到一个文件,那么 Invoke-WebRequest
是一个更好的选择,因为它可以直接将内容保存到文件:
1 | # download code |
您可以通过调用操作符 (&
) 在您自己的 PowerShell 会话中运行下载的文件,而不是使用 Start-Process
。如果执行失败,通常是因为您的执行策略不允许 PowerShell 脚本。请按如下方法改变设置,然后重试:
1 | PS> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned |
PowerShell 技能连载 - 下载脚本文件的最佳方式
http://blog.vichamp.com/2018/04/02/the-best-ways-to-download-script-files/