Resource Updating Task fails with the following error in the log:
"12/5/2006 12:06:01 PM SERVER_NAME Error 91 Object variable or With block variable not set"
This happens when accounts you migrate, delete, and those for which you perform recurring migration, if old accounts information is still kept in Active Directory Application Mode (ADAM). When using resource processing tools (such as SQL Processing Wizard), you may encounter errors because of unresolved SIDs in the QMM account map. The script marks such accounts as deleted in ADAM so resources processing could be performed correctly.
Note that the script processes User, Group, Computer and InetOrgPerson objects.
The issue can be easily identified by analyzing the corresponding ini file (like sqlwizard.ini for SQL processing task). It has RID portion of source and target SIDs with the account name in the middle. Importing this file into Excel spreadsheet using ; as column separator and sorting by name will help to find duplicate account names, for example:
The first number in any row (2 or 0 in this example) can not have the value of ZERO according to the algorithm used when ini file is created. This number is always added to the preceding row value in order to obtain source account RID. Zero in this case means that account RIDs and therefore SIDs are the same and there are duplicates in the mapping database. What happened is UserID account was migrated and target RID 102819 assigned, then target account was deleted and remigrated again with the new target RID 112290. The correct procedure would be to undo this migration session.
In order to remove these entries from ADAM database please use the script RemoveQMMMapInvalidEnrtries.vbs.
The script called, MM_RemoveInvalidMapEntriesScript_2.0 can be downloaded from this page.
The script is intended to be used with QMM versions 7.x, and 8.X.
1. Copy the RemoveQMMMapInvalidEnrtries.vbs file to the computer where QMM is installed.
2. Open the script file with any text-editor and specify the following constant values:
- csADAMServerName - Name of the ADAM server storing the information about QMM mapping
- csADAMPort - ADAM port number
- csQMMProjectName - QMM project name
- csTargetDomain - DNS or NetBios name of the target domain. Note that the script processes only the domain pairs that have the specified domain as target.
- csTargetBindAccount - account that will be used for binding to target domain (if this value is empty, the account under which you run the script will be used). This account should have enough privileges to read information from all target AD organizational units and containers. Otherwise the script may not be able to find some objects and will mark them as deleted.
- csTargetBindPwd - password for the account
3. Run the script (no command-line parameters are required).
The RemoveQMMMapInvalidEnrtries.log file is created in the same location, from which you run the script.