powershell - 尝试下载链接时PowerShell中的错误
问题描述
我必须做一个列出 Vsphere 环境中所有磁盘的 powershell 脚本,然后提取 URL 并下载这些 URL 中的文件,我尝试了不同的方法,但似乎没有任何效果。
Add-Type -Assembly System.Web
$output = "C:\Users\home\Desktop"
$links = (Invoke-WebRequest -Headers $headers -Uri "https://vcenter.company/folder/VM1?dcPath=DATACENTER&dsName=datastore1").Links.Href
$links = $links -replace "/folder/", "https://vcenter.company/folder/"
$links = $links | Select-String -Pattern ".vmdk"
$links > test.txt
foreach ($row in $links)
{
Invoke-WebRequest -Headers $headers $row
}
$headers 是站点的凭据。
test.txt 是下载文件的直接 url 列表。像这样: https ://vcenter.company/folder/VM1/VM1-000001-sesparse.vmdk? dcPath=DATACENTER &dsName=datastore1
但是当我尝试执行 foreach 循环时出现此错误:
Invoke-WebRequest:无法绑定参数“Uri”。无法将类型“Microsoft.PowerShell.Commands.MatchInfo”的“""""URL""""" 值转换为类型“System.Uri”。
编辑 1:我刚开始使用 Powershell,因此非常感谢任何帮助。
解决方案
推荐阅读
- mysql - 如何在不使用存在的情况下重写此 sql 脚本
- mysql - 同时更新多个不同ID的行
- swift - Swift - 具有交换性的模式匹配
- aws-lambda - 如何在无服务器中从 REST API 获取数据?
- outlook - Outlook 中的同步错误/冲突问题
- javascript - 无法找到解决方案:JSON.parse:第 1 行第 1 列的数据意外结束
- function - F#:应用一个值,就好像它是一个函数一样
- c++ - 如果在 C++ 中将虚拟或非虚拟函数添加到基类中,是否必须重新编译整个类层次结构?
- amazon-cloudformation - 没有自定义域的 AWS 上的 SSL 应用程序负载均衡器
- javascript - execSync 保持不变,不返回任何值