When you customize the Pattern Windows OS - Desktops to choose a specific serial number to add to the cmdb for the CI in Discovery, it does not work. It always inserts the first serial number that is found. (This is Step 5 of the Pattern: Insert Serial Number to cmdb_ci_computer - the value field in this step specifies an array element number-$cmdb_serial_number.serial_number. Changing it to element 2 does not work.)
Release or Environment
The Pre/Post Processor Script for the Windows OS - Desktops Pattern contains a line of code that overrides the settings in the pattern and will always write element of the array of serial numbers to the cmdb CI item that is discovered
- Navigate to the Pre/Post Processor Script for the Windows OS - Desktops Pattern: https://<instance_name>.service-now.com/nav_to.do?uri=sa_pattern_prepost_script.do?sys_id=5c2729a40f2f920051a9fa6ce1050e55
- Note - In some newer versions, you will need to go to the pre script 'OSs - Pre Sensor' instead
- Comment out Line 198 where it reads "handleWindowsHardwareInformation();"
- The line number might be slightly different, depending on version and patch of the instance.
- It can also appear as handleHardwareInformation(mainCis[ciKey].lookup) in newer versions, in the 'OSs - Pre Sensor' pre script.
- Modify the array element described in the "Symptoms" section of this article to match the serial number you desire to associate with the CI. *You can always look in the payload of the Pattern to determine which array element your desired serial number is.
- Save and publish the pattern and do a cache.do to make sure the changes take effect.
- Run the Discovery