For whatever reason, SCCM's built-in "Publish-CMPrestageContent" function doesn't know its Apps from a hole in the ground, and requires you to spell out exactly what kind of content you'd like to prestage.  What this script does is take input in the form of a package ID and spit you out a prestage file at a location of your chosing. You also need to specify the DP you'd like to pull the content from.  It's a little crude in how it verifies the package type, and I can think of a few "better" ways to do it, but this works on everything I've thrown at it so far.