hugeous
@hugeous
Системный администратор

Скрипт Exchange Powershell, почему при запуске из планировщика задач не добавляются контакты?

Добрый день хабровчане.

Исходные данные:
Платформа: MS Exchange 2010
На сервере MS Exchange есть скрипт, который должен выполнять создание почтовых контактов, и их добавление в группу рассылки.
Механизм работы скрипта примерно следующий:
В папку на сервере MS Exchange выкладывается файл со списком e-mail адресов
Скрипт подбирает выложенный файл
Далее приводится 2 основных действия данного скрипта:
Проходится циклом по строкам файла, и создает новые контакты используя командлет New-MailContact
Добавление контактов в группу рассылки командлетом Add-DistributionGroupMember


Для выполнения скрипта используется технологическая учетная запись, с достаточными правами, такими как:
Разрешить вход как пакетное задание (Logon as a batch job) на сервере MS Exchange
Роли Exchange:
Organization Management
Recipient Management


Беда в том, что при запуске скрипта из планировщика задач, не происходит ни создания контактов ни их добавления в группу рассылки (даже уже существующих контактов).

При выполнении скрипта в консоли Exchange Powershell, запущенной от имени данного технологического пользователя, все требуемые действия выполняются штатно, т.е. контакты создаются, и в группу рассылки добавляются.

Подскажите плиз куда копать дабы решить проблему выполнения скрипта из планировщика задач Windows.
Спасибо.
  • Вопрос задан
  • 420 просмотров
Решения вопроса 1
@zloy_zaya
Start-Transcript в самом начале и Stop-Transcript в самом конце позволят вам понять что происходит во время исполнения скрипта. А история запуска scheduled task позволит увидеть запускался ли скрипт вообще. Может быть, что он просто не запускается и сбоит сам планировщик задач.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
akelsey
@akelsey
Больше похоже на магию конечно. Если оно работает из консоли от имени пользователя специально созданного, просьба убедится все же whoami именно этот пользователь.
Второй вариант - поменять содержимое скрипта, или добавить отладочную строку в начале скрипта и сделать exit, что бы остановить выполнение скрипта и убедится, что скрипт реально запускается под юзером и выдает инфу в файл.
Больше посоветовать нечего, тут явно нет связи с Exchange -)
Ответ написан
@MaxKozlov Куратор тега PowerShell
модули-то на 2010 может сами и подгружаются, а вот Snapin's - нет. Скорее всего это - причина. проверять надо бы на голом PS, а не Exchange Powershell

Поэтому для начала можно запустить из планировщика простейший скрипт
Get-ExCommand >c:\temp\log
Чтобы убедиться что команды доступны.
Не помню как там на 2010, если Get-ExCommand недоступна, то сделать Add-PSSnapin нужный и потом Get-Command
Если всё что нужно доступно, логов добавить после каждой подозрительной строки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы