Я пытаюсь автоматизировать скрипт powershell, который собирает данные из O365.У меня есть специальная ограниченная настройка пользователя с привилегиями, необходимыми для O365, а также с локальным входом в систему, разрешенным на сервере, чтобы я мог «запускать от имени» этого пользователя (что я делаю для всех сценариев ниже. Я проверил разные,ожидаемые ошибки при запуске от имени других пользователей).
Сценарий работает нормально в интерактивном режиме, когда учетные данные установлены следующим образом и сеанс открыт:
$cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic –AllowRedirection
Однако, если я создаю файл учетных данных для автоматизациис:
Get-Credential | Export-Clixml -Path C:\batch\${env:USERNAME}_cred.xml
И затем доступ из сценария с помощью:
$cred = Import-Clixml -Path C:\batch\${env:USERNAME}_cred.xml
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic –AllowRedirection
Загрузка файла учетных данных, кажется, успешно.Затем я получаю «Отказано в доступе» при открытии сеанса, и затем, конечно, остальная часть сценария завершается ошибкой из-за того, что сеанс является нулевым.Я копирую и вставляю пароль во всех случаях (плюс много раз пробовал, включая ручную печать), поэтому я не думаю, что это простая проблема с опечатками.Похоже, что-то, что я в корне неправильно понимаю в PowerShell.В конечном счете, я хотел бы не только автоматизировать учетные данные, но и запускать их из планировщика задач, если есть какие-то особые настройки сверх того, что мне также необходимо.