gpt4 book ai didi

powershell - 用户名包含 '@'字符时,New-WebServiceProxy身份验证失败

转载 作者:行者123 更新时间:2023-12-02 23:26:18 27 4
gpt4 key购买 nike

我正在尝试使用New-WebServiceProxy cmdlet和包含@字符的用户名创建SOAP服务的代理:

$webAddr = 'https://MYSERVER?wsdl'
$secpasswd = ConvertTo-SecureString "MYPASSWORD" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("USER@NAME", $secpasswd)

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$proxy = New-WebServiceProxy -Uri $webAddr -Credential $mycreds

以某种方式,这不起作用,并且我收到以下错误:

New-WebServiceProxy : The request failed with HTTP status 401: Authentification failed!.



当我将相同的代码与不带'@'字符的用户名一起使用时,将创建代理并正常工作。当我在Visual Studio中或使用浏览器添加服务引用时,我还能够使用包含 @字符和 C#的用户名连接到服务器。

我已经尝试使用 System.Uri.EscapeUriString()System.Web.HttpUtility.UrlPathEncode()对用户名进行转义,但没有成功。

有任何想法吗?

最佳答案

好的,如果您告诉它没有域,它将假定@是用户名的一部分:

$mycreds = New-Object System.Management.Automation.PSCredential ("\USER@NAME", $secpasswd)

添加\就可以了。

关于powershell - 用户名包含 '@'字符时,New-WebServiceProxy身份验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35838974/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com