我有一个 Powershell DSC,用于配置 Web 服务器。我的服务器需要 URL 重写模块,因此我从 Github gist 中获取了该代码:
https://gist.github.com/sheastrickland/646c42789ce2df35d5c8
我的问题是,当 DSC 遇到我的阻止时:
Package UrlRewrite
{
#Install URL Rewrite module for IIS
DependsOn = "[cNtfsPermissionEntry]AppPoolPermissionsSet"
Ensure = "Present"
Name = "IIS URL Rewrite Module 2"
Path = "http://download.microsoft.com/download/6/7/D/67D80164-7DD0-48AF-86E3-DE7A182D6815/rewrite_2.0_rtw_x64.msi"
Arguments = "/quiet"
ProductId = "EB675D0A-2C95-405B-BEE8-B42A65D23E11"
}
它引发以下错误:
PowerShell DSC resource MSFT_PackageResource failed to execute Set-
TargetResource functionality with error message: Could not get the http
stream for file http://download.microsoft.com/download/6/7/D/67D80164-7DD0-
48AF-86E3-DE7A182D6815/rewrite_2.0_rtw_x64.msi
起初我以为我的服务器可能有一个错误的代理设置,所以我用这个语句检查是否可以下载该文件:
wget http://download.microsoft.com/download/6/7/D/
67D80164-7DD0-48AF-86E3-DE7A182D6815/rewrite_2.0_rtw_x64.msi
-OutFile "C:\Users\Dald\Desktop\Mizzy.msi"
瞧,文件出现在桌面上,大小正如预期,为 6.12 MB。
所以我很困惑,为什么我的 DSC 无法获取 http 流?我以管理员身份运行它,因此所有功能都应该可用,但也许我忘记设置了一些东西。
任何帮助是极大的赞赏。
答案1
我通过下载相关可执行文件,然后在 DSC 中引用该文件来解决了此错误。这不是我想要的解决方案,但它允许我的 DSC 继续运行。