Проблема
Некоторые процессные задачи на провижининг, после которых должен запускаться powershell скрипт, не отрабатывают. Атрибуты в целевой системе (Active Directory / Exchange) не обновляются. При этом в систему не вносили никаких изменений и проблема отсутствует в другой аналогичной среде.
Ошибка в логах OIM:
<Error> <ORACLE.IAM.CONNECTORS.ICFCOMMON.CONNECTOROPHELPER> <BEA-000000> <oracle.iam.connectors.icfcommon.ConnectorOpHelper : execute : Error occured while executing action
java.lang.RuntimeException: The file exists. ...
Ошибка в логах ".NET" коннектор-сервера:
ConnectorServer.exe Error 0 The file exists.
at Org.IdentityConnectors.Framework.Impl.Api.Remote.Messages.OperationResponsePart ProcessOperationRequest(Org.IdentityConnectors.Framework.Impl.Api.Remote.Messages.OperationRequest) in Server.cs:609
...
Решение
Ошибка "The file exists." относится к .NET и появляется, когда в директории %temp% количество временных файлов превышает 65536 штук. Для её решения нужно очистить или автоматизировать очистку директории %temp% для пользователя, под которым запущен коннектор-сервер, например "C:UsersOimServiceUserAppDataLocalTemp". Видимо, коннектор-сервер создает временные файлы при выполнении провижининга с использованием powershell-скриптов и не удаляет их по окончании выполнения операции.
Ссылки
[1] Ссылка на документ: Configured Powershell Script Does Not Run After Exchange Create Operation (Doc ID 1922975.1)
[2] Обсуждение на форуме: AD Entitlement provisioning error "The file exists."