Я исхожу из опыта написания сценариев * nix, и я новичок в PowerShell и администраторе Windows в целом. Я пытаюсь написать сценарий, который будет проверять значение SmartHost в коллекции виртуальных хостов Exchange/IIS smtp. Я пытаюсь понять, как вставить циклическую переменную в строку запроса ADSI, но оператор + не помогает:
$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?