Ошибка "The file exists" в OIM

Ошибка "The file exists" в OIM

Проблема

Некоторые процессные задачи на провижининг, после которых должен запускаться 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."

Alt text

Ваш провайдер знает о вас больше, чем ваша девушка?

Присоединяйтесь и узнайте, как это остановить!

Берёзкин Дмитрий

Секьюрный | блог специалиста по системной интеграции в области Identity Management & Access Governance