首页 > 解决方案 > 尝试下载链接时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,因此非常感谢任何帮助。

标签: powershellvsphere

解决方案


推荐阅读