url 中的 powershell invoke-restmethod 环境变量

powershell invoke-restmethod environmental variable in url

我正在尝试制作一个非常简单的脚本,该脚本可以使用 Invoke-Restmethod 删除文件夹。如果我写下确切的文件夹目标,它工作正常,但如果我想添加像 $env:computername 这样的东西,它只是 returns empty

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

这将 return 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