Powershell API访问cookies凭据

Powershell API访问cookies凭据,api,powershell,cookies,networkcredentials,Api,Powershell,Cookies,Networkcredentials,我有一个PowerShell脚本,用于查询API。脚本可以工作,并提供我需要的输出。但是,我担心缓存凭据。 由于某些原因,即使我使用了不正确的登录,脚本仍会运行。我有几个访问API的权限。情况是,一旦使用了不正确的帐户,脚本仍然有效,并且似乎使用了最后一个有效的帐户 例如,我首先使用了一个正确的帐户“Account1”,并且脚本/API访问可以正常工作。 当我尝试使用“Account2”并故意传递错误的密码时,脚本/API访问仍然有效。即使我关闭并重新打开另一个PowerShell控制台,情况也

我有一个PowerShell脚本,用于查询API。脚本可以工作,并提供我需要的输出。但是,我担心缓存凭据。 由于某些原因,即使我使用了不正确的登录,脚本仍会运行。我有几个访问API的权限。情况是,一旦使用了不正确的帐户,脚本仍然有效,并且似乎使用了最后一个有效的帐户

例如,我首先使用了一个正确的帐户“Account1”,并且脚本/API访问可以正常工作。 当我尝试使用“Account2”并故意传递错误的密码时,脚本/API访问仍然有效。即使我关闭并重新打开另一个PowerShell控制台,情况也是如此。清除最后一个有效帐户的唯一方法是清除IE Cookies和临时互联网文件,所以我猜问题就在那里。如果可能,我不希望每次脚本运行时都清除所有cookie或临时文件。是否有办法仅清除与脚本/api访问相关的cookies/temp文件?或者在脚本上添加一些内容,这样就不会创建cookie/temp,但仍然允许API访问工作? 下面是我使用的脚本的一部分

$SecureUN = "Some Secure account"
$UNkey = "Some UNkey"
$UN = $SecureUN | ConvertTo-SecureString -Key $UNkey
$UNBSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($UN)
$UnsecureUN = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($UNBSTR)
$SecurePW = "Some Secure password"
$PWkey = "Some PWKey"
$PW = $SecurePW | ConvertTo-SecureString -Key $PWkey
$PWBSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($PW)
$base64 = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($('{0}:{1}' -f [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($UNBSTR), [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($PWBSTR))))
$basicAuthValue = "Basic $base64"
$Query = "WebURL"
$Http_Request = New-Object -ComObject Msxml2.XMLHTTP
$Http_Request.open('GET', $QueryIncident, $false)
$Http_Request.setRequestHeader("Authorization", $basicAuthValue)
$Http_Request.setRequestHeader("Accept", "application/vnd.webssite.v1+xml")
$Http_Request.setRequestHeader("Connection", "Keep-Alive")
$Http_Request.send()
$RequestStatus = $Http_Request.StatusText
Write-Host "Request Status: $RequestStatus"
API输出只有几页,每页最多只允许100个项目,因此我必须重复多次查询,直到所有页面都完成

X-Current-Page: 1
X-Per-Page: 100
X-Total-Count: 5783
X-Total-Pages: 58

这是否与
RequestHeader(“连接”、“保持活动”)
有关?脚本每天每小时运行一次。

缓存甚至可能发生在服务器端,这可能根本无法控制。无论如何,我在这里要尝试的是
send()
唯一请求,并在查询中添加类似
+“?Time=$((Get Date).Ticks)”
的内容。缓存甚至可能发生在服务器端,这可能根本无法控制。无论如何,我在这里要尝试的是
send()
唯一请求,并在查询中添加类似
+“?Time=$((Get Date).Ticks)”
的内容。