Instance duplicate nodes, materials, texture maps, modifiers, controllers.
After series of boring coding similar tasks (instancing) I decide to find some major solution and end with this script. With Dups Instancer you can instance any kind of parametric nodes (such as geometry, shapes, lights, cameras, ...), any texture map or material, modifiers and controllers. The script look for exact similarity (all properties must be identical). Maybe in the next version (to-do list) I'll add dynamic menu where to build your own custom similarity filters.
Start as usual (MAXScript > Run Script). Select the type. Each type has its own pick button. After picking, if there is something to proceed, the main button will be enabled. The script not operate on references (only on unique objects), but its an easy to make one or multiple objects unique (without script) by right click over the mods stack and choose "Make Unique".
Keep in mind that not all objs, mods, mats, and so on are acceptable for MAXScript. Some of them are partial exposed, others quite inaccessible. To make the script more safety, it skip inaccessible, but operate on fully and partial exposed objs. Also, the instance procedure is not undoable (!) to make the script more stable. There is why I recommend to backup your scene before "pull the trigger".
When pick a material or texture map, I show in the video to use an Instance. There is nothing wrong to choose a Copy as well. The copy itself is temporal and 'live' until the dialog is still open, so, why to process one more copy for nothing, right?
Well, the base usage is shown in the video.
The YouTube's video is too blurred, but you can get better video copy from my web site.