I recently created two scripts (using a lot of copy and paste from the SDK) to help me work with ConfigMgr programs.

The first is a copy and rename script. Unfortunately, program names are unique identifiers and thus you can’t just rename them. On a off basis, it’s not that big of a deal to simply create a new program with a new name. But if you have to do this to a lot of programs, it is pretty cumbersome and anti-IT. This script started as a way to copy and rename the default “Per-system unattended” program created when you import an MSI into ConfigMgr. Although I love the import functionality, and normally this default program name doesn’t bug me, when using MDT and entering programs to install by role, it’s difficult to tell what program is which when they are all named the same thing.

synatx is as follows: cscript copyprogram.vbs /package:<PackageID> /program:<Program Name to Copy> /newName:<Name of copied program>

After using the first script a few times, I realized that there were a few other things I always do to Packages imported from an MSI including deleting the “Per-user” programs and setting the allow run from a TS without an advertisement. And thus, I created the second script.

synatx is as follows: cscript MSICleanup.vbs /package:<PackageID> /newName:<Name of copied program>

Download: CopyProgram.zip

Download: MSICleanup.zip