在 PowerShell 中测试用户和密码的 HTTP 身份验证 NTLM,你可以使用 Invoke-WebRequest
命令(通常简写为 Invoke-RestMethod
)并指定 -UseDefaultCredentials
参数或者使用 -Credential
参数来提供凭据。以下是两种方法的示例:
-UseDefaultCredentials
如果你想要使用当前 PowerShell 会话的默认凭据(通常是登录到系统的用户的凭据),你可以这样做:
Invoke-WebRequest -Uri "http://your-web-server/your-resource" -UseDefaultCredentials
这将使用当前用户的 NTLM 凭据发送 HTTP 请求。
-Credential
参数如果你想要指定一个不同的用户账户进行身份验证,你可以创建一个 PSCredential
对象并提供用户名和密码:
$username = "your-username"
$password = "your-password" | ConvertTo-SecureString -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
Invoke-WebRequest -Uri "http://your-web-server/your-resource" -Credential $credential -Method Get
在这个例子中,你需要将 "your-username"
和 "your-password"
替换为实际的用户名和密码。ConvertTo-SecureString
命令用于将明文密码转换为 PowerShell 可以使用的安全字符串格式。
请注意,当你提供密码时,应该非常小心,确保不要在不安全的环境中泄露密码,也不要将其硬编码在脚本中。
如果你遇到任何问题,可以检查服务器的响应代码和内容,以获取有关身份验证失败的更多信息。例如:
$response = Invoke-WebRequest -Uri "http://your-web-server/your-resource" -Credential $credential -Method Get
$response.StatusCode
$response.StatusDescription
$response.Content
这将显示 HTTP 响应的状态码、描述和内容,帮助你诊断问题。
领取专属 10元无门槛券
手把手带您无忧上云