У меня есть длительный скрипт powershell.Он запускается при входе в систему через объект групповой политики, подключается к Exchange с текущими учетными данными пользователя, а затем возвращается в спящий режим.Он делает это примерно каждые полчаса и продолжается до тех пор, пока пользователь не выйдет из системы.
Проблема возникает, если пользователь меняет свой пароль в течение этого времени.В следующий раз, когда скрипт пытается подключиться к Exchange, он потерпит неудачу.Я предполагаю, что это потому, что учетные данные, хранящиеся в сеансе powershell, больше не действительны.
Есть ли способ обновить / обновить учетные данные сценариев из O / S?
Единственный другой способЯ решил обойти это, перезапустив сценарий в новом экземпляре PowerShell, получив, таким образом, новый набор учетных данных.Это кажется проблематичным, так как я считаю, что контекст будет передан новому сеансу, если он будет инициирован из запущенного скрипта.Запуск запланированной задачи, которая вызывает сценарий, может сработать, хотя я не пробовал его, и он кажется слишком запутанным.
Есть мысли?Я не хочу использовать Get-Credential, поскольку это требует подсказки.Я также не хочу хранить пароль в файле.
[System.Security.Principal.WindowsIdentity]
может предоставить способ?Не совсем уверен, с чего начать.
Обновление: я использую EWS согласно: https://devblogs.microsoft.com/scripting/learn-to-use-the-exchange-web-services-with-powershell/
Вы можете использовать учетные данные, сохраненные в текущем сеансе powershell, согласно: $ exchService.UseDefaultCredentials= $ true