我來自* 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