Вы заявляете, что используете Import-PSSession
, который создает (в памяти) модуль с прокси-функциями , который прозрачно вызывает команды с одинаковым именем наудаленная машина , концепция, известная как неявное удаленное взаимодействие .
К сожалению, начиная с Windows PowerShell v5.1 / PowerShell Core 6.2.0-preview.4, реализация этой функции имеет ряд проблем в отношении переменных предпочтения, общих параметров и потоков вывода.
В вашем конкретном случае попробуйте следующий обходной путь :
Invoke-Command { Set-Distributiongroup @Setparams } -WarningVariable cmd_warn
if ($cmd_warn) { ... } # warning was emitted
Обратите внимание, что вызов Invoke-Command
здесь сам не выполняет удаленное взаимодействие;это просто локальная оболочка вызова, которая заставляет общий параметр -WarningVariable
работать при применении к it .