使用Invoke-WebRequest下载visual studio 2017社区会破坏.exe

时间:2018-03-13 23:40:37

标签: powershell

我真的不确定发生了什么事。我正在尝试下载一系列文件,唯一一个不正确的文件是Visual Studio 2017

$vs_url = "https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15#"
Invoke-WebRequest -Uri $vs_url -OutFile C:\pulled-files\vs_community.exe -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox

当我运行此脚本时,它会下载文件而不会出现任何错误。但是,当我运行.exe时,一个大的橙色横幅弹出窗口告诉我,我需要为我的系统找到正确的版本。如果我手动使用相同的链接它工作正常。文件名是不同的,虽然我已经使用了我在这里和手动下载时的文件名,但没有区别。 .exe不会运行。

任何人都可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:4)

您正在使用的visual studio网址引用了下载页面,而不是文件本身。如果在记事本中打开exe文件,它可能会显示html代码而不是工作exe文件的标准不可读内容。您必须在服务器中找到真正的文件路径。我查看了代码,发现exe的真实URL是https://download.visualstudio.microsoft.com/download/pr/11835057/045b56eb413191d03850ecc425172a7d/vs_Community.exe

虽然我确定这是一个临时网址,但会在一段时间后处理掉。总之,如果它确实是一个临时URL,那么没有重新上载就无法直接从服务器下载它。我建议至少尝试上面的URL。