2017-01-09 82 views
1

複数の受信者に電子メールを送信したい場合、またユーザー名とパスワードの入力を求めたくない場合。だから私は以下の文字列の変換を使用しているが、私は、以下のエラーメッセージに直面している。新規オブジェクト: "PSCredential"と引数count: "2"のオーバーロードが見つかりません

この問題を解決するための回答をお勧めしますか?

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

エラーメッセージ:

新オブジェクト:あなたの最初の文は$secpasswdの変数になり、「2」

答えて

3

:「なPSCredential」のための過負荷および引数の数を見つけることができませんタイプ[string]です。そのため、2番目のステートメントで作成するSecureStringオブジェクトは自動的に文字列に変換されます。 PSCredentialコンストラクタは、文字列とSecureStringオブジェクトではなく、2つの文字列を期待しているのでこのため、二つの文

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

が効果的

$secpasswd = 'System.Security.SecureString' 

と同じであり、それはあなたが観測され、エラーがスローされます。

[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) 

はタイプ [string]に変数を強制しないのいずれかの問題を修正するには
関連する問題