When using an MDT (integrated in ConfigMgr or standalone) there is a step called Tattoo, this step will write information to the registry as well as to the WMI repository.
Let us see what it looks by default:
Get-WMIObject –Class Microsoft_BDD_Info
Get-Item -Path ‘HKLM:\SOFTWARE\Microsoft\Deployment 4’
Cool, but I need my own stuff?
We have done this for various reasons and many customers, it could be used for making sure the computer ends up in certain ConfigMgr Collections, or that applications behave in a certain way, or that the asset management tools does the job differently, or that the correct support team can know what the computer was configured for, or what task sequence that was used, or…. As you see the are some valid reasons for this, no doubt.
The question is of course, should you modify the existing ZTITatto.wsf and corresponding .MOF file?, No, you should not do that, instead you should create new files and use them instead.
So, here is the download : https://github.com/DeploymentBunny/Files/tree/master/Tools/Custom-ZTITatoo
To make the work in a task sequence you need to add the files to you Scripts folder, update the CustomSettings.ini if you are using Custom Properties and add a step in the Task Sequence.
Here is a sample of CustomSettings.ini
I have added 4 new properties, added them to a MacAddress, so first step is to verify that the ZTIGather process reads this correct, let us verify this by running:
cscript \\redepl01\mdtproduction$\Scripts\ZTIGather.wsf /inifile:c:\Temp\CustomSettings.ini
Result after running the following command to perform the inventory.
Now, lets run the custom tattoo script:
cscript \\redepl01\mdtproduction$\Scripts\ViaMonstraTatoo.wsf
Now, let us verify that we get the correct data from WMI and Registry:
First, get the WMI repository:
Get-WmiObject -Class ViaMonstra_Info
The WMI repository was updated.
Let us check the Registry:
Get-Item -Path ‘HKLM:\SOFTWARE\ViaMonstra\OSD’
At LabCenter
The Customer LabCenter deploys computer for hands-on labs and they wanted each computer to be tattooed with information regarding the LAB and one thing they use it for is to be able to display the information directly in the screen using BGinfo, but they also use it for other purposes. BGInfo reads the Registry values, or WMI
How to change my own stuff then?
Download the files from:https://github.com/DeploymentBunny/Files/tree/master/Tools/Custom-ZTITatoo and edit the scripts, (.wsf and .mof) by replacing the values that are in use, like
- ViaMonstra
- ViaRole
- ViaClass
- ViaOwner
- ViaTag
Save, and verify
/mike
Categories: ConfigMgr, Lite Touch, MDT, OSD, Zero Touch
Hi Mikael, thanks for this great post (again). I have built my own script that does the same thing using PowerShell. The primary reason was to get rid of the MDT dependencies (and the VBS code! ;)).
I like the idea of having the custom_settings.ini to add information.
The solution I wrote, allows to tattoo dynamically content that is located in Task sequence variables that start with a specefic prefix (like MyCompany_UserName). I would love to have feedback! :), like that you actually don’t event have to configure any thing ;)
I leave the the link here, as I also think that these two methods come to the same end result, but in two different manners :)
http://powershelldistrict.com/osd-tattoo-powershell/
ps: Feedback is higly appreciated :)
I’ll check it out, nice work :-)
Where are you getting the Task Sequence Version from in the first screenshot?
When the normal Tattoo step runs it does all that for you