gpt4 book ai didi

powershell - 新对象 : Cannot find an overload for “PSCredential” and the argument count: “2”

转载 作者:行者123 更新时间:2023-12-04 22:00:15 31 4
gpt4 key购买 nike

我希望将一封电子邮件发送给多个收件人,并且我不想提示输入用户名和密码。所以我使用了下面的字符串转换,但是我遇到了下面的错误消息。

您能否提出解决此问题的答案?

[string] [ValidateNotNullOrEmpty()] $secpasswd = "Q$$777LV"
$secpasswd = ConvertTo-SecureString -String "Q$$777LV" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential (“test”, $secpasswd)

错误信息:

New-Object : Cannot find an overload for “PSCredential” and the argument count: “2”

最佳答案

您的第一条语句使 $secpasswd 成为 [string] 类型的变量。因此,您使用第二个语句创建的 SecureString 对象会自动转换为字符串。因为这两条语句

[string]$secpasswd = "something"
$secpasswd = ConvertTo-SecureString -String "something" -AsPlainText -Force

实际上与

相同
$secpasswd = 'System.Security.SecureString'

由于 PSCredential 构造函数需要一个字符串和一个 SecureString 对象,而不是两个字符串,因此它会抛出您观察到的错误。

要解决此问题,请不要将变量强制为 [string] 类型:

[ValidateNotNullOrEmpty()]$secpasswd = "something"
$secpasswd = ConvertTo-SecureString -String $secpasswd -AsPlainText -Force
$mycreds = New-Object Management.Automation.PSCredential ("test", $secpasswd)

或对明文和安全字符串密码使用不同的变量:

[string][ValidateNotNullOrEmpty()]$passwd = "something"
$secpasswd = ConvertTo-SecureString -String $passwd -AsPlainText -Force
$mycreds = New-Object Management.Automation.PSCredential ("test", $secpasswd)

关于powershell - 新对象 : Cannot find an overload for “PSCredential” and the argument count: “2” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41548059/

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