Я сделал модуль PowerShell, который хранится в общей сетевой папке. В модуле у меня есть функция для подключения к Exchange Online.
Когда я импортирую модуль из общего сетевого ресурса и использую функцию для подключения к Exchange Online, модуль загружается (по крайней мере, в соответствии с подробным выводом):
VERBOSE: Loading module from path 'C:\Users\user\AppData\Local\Temp\tmp_22gpyzrn.tf1\tmp_22gpyzrn.tf1.psd1'.
VERBOSE: Loading 'FormatsToProcess' from path
'C:\Users\user\AppData\Local\Temp\tmp_22gpyzrn.tf1\tmp_22gpyzrn.tf1.format.ps1xml'.
VERBOSE: Loading module from path 'C:\Users\user\AppData\Local\Temp\tmp_22gpyzrn.tf1\tmp_22gpyzrn.tf1.psm1'.
Полный подробный вывод: https://pastebin.com/5tZhVPyj
Однако нет командлетов из Exchange Online, например Get-Mailbox доступны. Когда я запускаю Get-Module, я не вижу, что модуль загружен. Если я захожу в папку Temp, я вижу, что модуль фактически был загружен. Я даже могу загрузить модуль с помощью
Import-Module 'C:\Users\user\AppData\Local\Temp\tmp_22gpyzrn.tf1'
Если я скопирую свою функцию в консоль PowerShell, выполнил код и запустил функцию, модуль из Exchange Online будет загружен правильно. Я могу видеть его в списке при использовании Get-Module, и доступны такие командлеты, как Get-Mailbox.
Подробный вывод: https://pastebin.com/JNjyYguQ
Другие функции из того же модуля работают нормально, но при подключении к Exchange Online (а также по безопасности и соответствию) происходит нечто странное.
Есть ли настройки безопасности или аналогичные, которые я пропускаю?