私は* nixスクリプトのバックグラウンドから来ており、私は一般的にはpowershellとWindowsの管理者の初心者です。私はExchange/IIS smtp仮想ホストのコレクションのSmartHost値をチェックするスクリプトを書こうとしています。私は、ADSIクエリ文字列に、ループ変数を挿入する方法を把握しようとしているが、+演算子は、トリックを行いません:単一または二重引用符で+を使用して引用符で囲まれた文字列をpowershellで変数に結合する
$hosts = @("host1","host2")
foreach ($hostname in $hosts) {
$SMTPSvc = [ADSI]'IIS://' + $hostname + '/smtpsvc/1'
echo $SMTPSvc.SmartHost
}
は私に、このエラーを与える:
Method invocation failed because [System.DirectoryServices.DirectoryEntry] does not contain a method named 'op_Addition'. At line:3 char:1 + $SMTPSvc = [ADSI]'IIS://' + $hostname + '/smtpsvc/1' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (op_Addition:String) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound
何ADSIクエリ文字列にループしたホスト値を挿入するための適切なまたは好ましい方法でしょうか?
'$ SMTPSvcです= [ADSI] "IIS:// $ホスト名/ SMTPSVC/1は"'この場合にも動作します。 – Matt