我正在尝试制作一个非常简单的脚本,可以使用Invoke-Restmethod删除文件夹。如果我写了确切的文件夹目标,它会很好地工作,但是如果我想添加$ env:computername之类的东西,它只会返回空

Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Uri http://rm44:8081/conf.fapi-1.4.0/client/machine/$env:computername/ -Method DELETE

这将返回http://rm44:8081/conf.fapi-1.4.0/client/machine//而不是我的实际计算机名,据我理解该计算机名是一个字符串,但不会作为一个字符串读取。

最佳答案

正如arco444所说,您应该在变量中定义URI,并将其传递给Invoke-RestMethod。您试图在仅允许使用文字字符串的地方插入变量($ env:computername)。

此代码应为您工作:

$URI = "http://rm44:8081/conf.fapi-1.4.0/client/machine/$env:computername"
Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Uri $URI -Method DELETE

关于rest - URL中的powershell invoke-restmethod环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28672090/

10-13 09:16