Powershell使用NTLM调用WebRequest进行发布

Mur*_*e85 5 rest powershell ntlm

初始问题

如何使用Powershell进行Invoke-WebRequest或类似操作,以便使用NTLM身份验证,但还要为帖子提供正文。

以下代码示例是我的示例示例,其中使用了invoke Web请求并将响应通过管道传递到.json文件。用户名和密码变量未包括在示例中。

$myURL = https://example.blah.etc
$params = @" {""EXAMPLE1":"STUFF"} "@ 

$Headers = @{ Authorization = "Basic {0}" -f [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $Username,$Password))) }


Invoke-WebRequest -Uri $myURL  -Headers $Headers -Method POST -ContentType "application/json" -Body  $params  | Select-Object -ExpandProperty Content > "C:\output.json"
Run Code Online (Sandbox Code Playgroud)

更新

使用-UseDefaultCredentials仅适用于Gets,不适用于帖子。



错误响应

远程服务器返回错误:(401)未经授权

mar*_*che 6

仅使用-UseDefaultCredentials尝试操作NTLM的标头是艰苦的工作。这是一个痛苦的挑战。让PS来做...