【发布时间】:2020-12-16 20:15:07
【问题描述】:
当我在没有 & 符号的 URL 上使用 invoke-webrequest 运行 powershell 时,一切正常。
但是我的 URL 中有 & 符号。如果我用双引号将它们括起来,它可以在 PowerShell 中工作,但如果我是通过我的 SQL Server 来做的话。
试图获得正确的转义字符组合被证明是一件很痛苦的事情。下面是一个命令示例:
exec xp_cmdshell 'powershell Invoke-WebRequest -UseBasicParsing -Uri "https://example.com/getfile/12345&i=123" -outfile C:\Downloads\test.txt'
&i=123 上的 & 号才是问题所在。
如果我将 -URI 参数中的 & 号更改为 "&",它将不起作用。如果我以肉汁克拉(标签上方的小`)作为前缀,它就不起作用。我也试过用%26替换它。
在这里绞尽脑汁好几个小时。有什么建议吗?
【问题讨论】:
标签: sql-server powershell escaping invoke-webrequest