0

我正在通过 Powershell 使用 REST API 向计算机添加描述。对于某些系统,此操作失败并显示错误“请求的主机名已存在”。它适用于计算机在 TM 中存在一次但系统存在两次的系统。

这是在 DSaaS 中。

这是 powershell 脚本部分,其中包含其余调用。相同的调用适用于 DS 中具有唯一名称的服务器,但不适用于多次存在的服务器

{
$srv = $_.Name
$ci = $_.CI

$searchbody = @{
"searchCriteria"= @{
"fieldName" = "hostName"
"stringTest" = "equal"
"stringValue" = $srv+'%'}
}

$json = ConvertTo-Json $searchbody

$srvuri = "$url/computers/search?expand=none"

$computer = Invoke-RestMethod -Uri $srvuri -Method Post -Headers $headers -Body $json -ContentType 'application/json' -Proxy $proxy

$computer.computers | ForEach-Object {
$computerid = $_.ID

"{0} Setting CI $ci for Server $srv with ID {1}" -f (Get-Date -Format u),$computerid
$date = Get-Date -Format "yyyy-MM-dd"
$_.description+= "`n$($date): $ci"

$updatejson = ConvertTo-Json $_
$updateuri="$url/computers/$computerid"
$computerupdate = Invoke-RestMethod -Uri $updateuri -Method Post -Headers $headers -Body $updatejson -ContentType 'application/json' -Proxy $proxy
}
}  

任何解释我在这里犯了什么错误都非常感谢。

4

0 回答 0