0

コマンドレットsend-mailmessageに奇妙な問題があります。PowerShellでdirecltyを使用する場合は完全に機能しますが、スクリプトで使用してさまざまな変数を編集してユーザーにメールを送信したい場合は、メールが正しく送信されません。私はこのコードを持っています:

$userInfo = $fornamn+" "+$efternamn+" "+$usernm+" "+$pass  
$from = "administrator@"+$ADinfo.dnsroot  
$to = $fornamn+"."+$efternamn+"@cuebid.se"  
$smtpserver = "cb-dc02.cuebid.local"  
$subject = "sys-konto"  
Send-MailMessage $to $subject $userInfo $smtpserver -from $from

$ fornamn、$ efternamn、および$ passは、スクリプトの前半で作成された変数であり、すべてString型です。

スクリプトを使用するとメールを受信しませんが、交換ログでメールが受信されていることがわかります。PowerShellで直接変数を作成し、send-mailmessageを実行すると、問題なく機能します。理由は何ですか。

4

1 に答える 1

0

ここではこの動作はありません。また、二重引用符で変数の置換が行われるため、文字列変数をよりエレガントに組み合わせることができます(ドットの前のバックティックに注意してください)。

$userInfo = "$fornamn $efternamn $usernm $pass"
$from = "administrator@"+$ADinfo.dnsroot
$to = "$fornamn`.$efternamn@cuebid.se"
$smtpserver = "cb-dc02.cuebid.local"
$subject = "sys-konto"
Send-MailMessage $to $subject $userInfo $smtpserver -from $from

メールがスパムとしてマークされていないことを確認しますか?コマンドラインから実行すると機能すると言うので、論理的ではないように思われることはわかっています。それでも、再確認する価値があります。

私が考えることができる他の唯一のことは、.ps1ファイルでは、変数にまったく同じ値が含まれていないことです(おそらくどこかにスペースが多すぎます)。

于 2013-03-29T11:57:18.053 に答える