Here’s my version of an OSD information tattoo script for ConfigMgr. There are a few others out there, but I didn’t like exactly how they worked or they weren’t really production ready IMO. This version is however heavily based on the OSD Tattooer Script by Stephane van Gulick which was close to what I wanted but not quite.
This script, when run inside a task sequence, captures a handfull of variable values and writes them to either WMI, the registry, or both. WMI is usually my preference because it’s drop-dead easy to then add information from WMI to ConfigMgr hardware inventory.
In addition to the default values collected, the values of any task sequence variables prefixed by “OSDInfo_” are also collected. This prefix can be modified using a script parameter.
Additional parameters include defining the namespace, class, and ID for the information stored. The help for the script gives all the details.
Just add the script to your task sequence after the Setup Windows and ConfigMgr task using a PowerShell script task type and include the appropriate parameters. I generally add this to both my build and capture task sequences using an ID of something like “Build” and my deployment task sequences using an ID of something like “Deploy”. This then adds info for both task sequences to the registry and/or WMI. Also, keep the IDs the same across task sequences of the same type; the differences will be reflected in the other data collected like the task sequence name.