- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-04-2025 11:01 AM
Hello experts! Has anybody modified ServiceNow discovery patterns/probes to populate firmware version for network printers? We have this requirement and information related to it online is extremely sparse, so I was wondering if anyone has hands on experience with this. I came across one article related to firmware for F5, but the process does not seem applicable to printers. Any information is helpful, thanks!
Solved! Go to Solution.
- Labels:
-
Discovery
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-05-2025 07:02 AM
Hi @HMcNulty ,
As per my understanding, You can follow below approach and this will be helpful.
Populating Firmware Version for Network Printers in ServiceNow Discovery
1. Understand What’s Available via SNMP
Most printer firmware data is exposed using SNMP, but not all printers support the same MIBs (Management Information Bases).Start by testing SNMP access to the printer using tools like:
* snmpwalk
* SNMP Tester by Paessler
* iReasoning MIB Browser
You’re looking for OIDs like:
1.3.6.1.2.1.43.5.1.1.17.1 — prtGeneralFirmwareVersion
Check if your printer returns a result here.
2. Customize or Create a New SNMP Probe
Option A: Extend Existing Printer Probe
* Navigate to Discovery > SNMP Probes
* Search for an existing probe like SNMP - Printer
* Clone it or add a custom probe parameter that targets the firmware OID
Example:
{
"oid": "1.3.6.1.2.1.43.5.1.1.17.1",
"name": "firmware_version",
"type": "String"
}
You’ll use this to extract the firmware version and assign it to a variable.
3. Modify or Extend the SNMP Pattern (Optional)
If you want to map this firmware version to a CI in the cmdb_ci_printer table:
* Go to Discovery Patterns
* Find or create a SNMP-based pattern for printers
* Add a parse variable step to pull firmware_version from the probe
* Use a CI Attribute Mapping step to set the field firmware_version (you may need to add a custom field to cmdb_ci_printer)
4. Test Discovery
* Use Discovery Schedule with a test IP Range for known printers
* Enable SNMP debug logging
* Check ECC Queue and Pattern Debug Logs for variable output
5. Add the Firmware Field to the CMDB (If Not Present)
If your CI class (cmdb_ci_printer) doesn't already include firmware_version, you can:
* Go to System Definition > Tables
* Customize the cmdb_ci_printer table
* Add a String field called firmware_version
6. Security and SNMP Access
* Ensure your MID Server has SNMP connectivity (UDP 161)
* Update SNMP credentials in Discovery > Credentials
* Validate that the printer is not blocking SNMP access or requires SNMPv3 credentials
Sample ECC Result (for Reference)
{
"firmware_version": "FW_1.2.3_Beta",
"sys_object_id": "1.3.6.1.4.1.11.2.3.9.1"
}
Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.
Thank You
AJ - TechTrek with AJ - ITOM Trainer
LinkedIn:- https://www.linkedin.com/in/ajay-kumar-66a91385/
YouTube:- https://www.youtube.com/@learnitomwithaj
Topmate:- https://topmate.io/aj_techtrekwithaj (Connect for 1-1 Session)
ServiceNow Community MVP 2025
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-05-2025 07:02 AM
Hi @HMcNulty ,
As per my understanding, You can follow below approach and this will be helpful.
Populating Firmware Version for Network Printers in ServiceNow Discovery
1. Understand What’s Available via SNMP
Most printer firmware data is exposed using SNMP, but not all printers support the same MIBs (Management Information Bases).Start by testing SNMP access to the printer using tools like:
* snmpwalk
* SNMP Tester by Paessler
* iReasoning MIB Browser
You’re looking for OIDs like:
1.3.6.1.2.1.43.5.1.1.17.1 — prtGeneralFirmwareVersion
Check if your printer returns a result here.
2. Customize or Create a New SNMP Probe
Option A: Extend Existing Printer Probe
* Navigate to Discovery > SNMP Probes
* Search for an existing probe like SNMP - Printer
* Clone it or add a custom probe parameter that targets the firmware OID
Example:
{
"oid": "1.3.6.1.2.1.43.5.1.1.17.1",
"name": "firmware_version",
"type": "String"
}
You’ll use this to extract the firmware version and assign it to a variable.
3. Modify or Extend the SNMP Pattern (Optional)
If you want to map this firmware version to a CI in the cmdb_ci_printer table:
* Go to Discovery Patterns
* Find or create a SNMP-based pattern for printers
* Add a parse variable step to pull firmware_version from the probe
* Use a CI Attribute Mapping step to set the field firmware_version (you may need to add a custom field to cmdb_ci_printer)
4. Test Discovery
* Use Discovery Schedule with a test IP Range for known printers
* Enable SNMP debug logging
* Check ECC Queue and Pattern Debug Logs for variable output
5. Add the Firmware Field to the CMDB (If Not Present)
If your CI class (cmdb_ci_printer) doesn't already include firmware_version, you can:
* Go to System Definition > Tables
* Customize the cmdb_ci_printer table
* Add a String field called firmware_version
6. Security and SNMP Access
* Ensure your MID Server has SNMP connectivity (UDP 161)
* Update SNMP credentials in Discovery > Credentials
* Validate that the printer is not blocking SNMP access or requires SNMPv3 credentials
Sample ECC Result (for Reference)
{
"firmware_version": "FW_1.2.3_Beta",
"sys_object_id": "1.3.6.1.4.1.11.2.3.9.1"
}
Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.
Thank You
AJ - TechTrek with AJ - ITOM Trainer
LinkedIn:- https://www.linkedin.com/in/ajay-kumar-66a91385/
YouTube:- https://www.youtube.com/@learnitomwithaj
Topmate:- https://topmate.io/aj_techtrekwithaj (Connect for 1-1 Session)
ServiceNow Community MVP 2025