首页 > 解决方案 > 有没有办法通过邮递员将凭据传递给 SCOM rest api?我收到 401 错误

问题描述

在将 post rest api 调用发送到 scom 服务器时,我无法弄清楚正文中的 json 正文下应该包含什么内容,我尝试了下面的方法。

{
    "credentials":"<base64 coded text of credential>"
    
}

这是标题和正文 在此处输入图像描述

在此处输入图像描述

和错误 在此处输入图像描述

这是我尝试更改为 postmain 请求的 powershell 脚本 rest api 请求

 $server="servername"
 
# authentication part
 
$scomHeaders = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$scomHeaders.Add('Content-Type','application/json; charset=utf-8')
 
$bodyraw = "Windows"
$Bytes = [System.Text.Encoding]::UTF8.GetBytes($bodyraw)
$EncodedText =[Convert]::ToBase64String($Bytes)
$jsonbody = $EncodedText | ConvertTo-Json
 
$uri = "http:// $server/OperationsManager/authenticate"

$username = "username.com"
$password = ConvertTo-SecureString "paswword" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList ($username, $password)

$Request = Invoke-WebRequest `
    -Method POST `
    -Uri $uri `
    -Headers $scomHeaders `
    -body $jsonbody `
    -Credential $cred `
    -SessionVariable 'websession'
 

我还尝试使用我想获取 SCOM 警报数据的帮助。但我不断收到错误 401。我正在传递凭据正确 的帖子。而且还是想不通。

标签: scom

解决方案


SCOM 支持将基本身份验证作为标头的一部分。这是一篇关于它的文章: https ://mevansit.blogspot.com/2017/03/scom-web-availability-monitoring-with.html


推荐阅读