To bring this post alive again, but with a bit of a different touch.

Why use separate "naming convntions" on such related operations? Why not use the share name on both functions?
In my case, where I often come in to already existing environments with well established names and shares (as in "cannot change either") and help with moving shared printers from one server to another, it's really a hassle if I do not want to hardcode printer names in the script (which I really want to avoid due to the production of a quite generic script what will work at different companies with only a small change)

My suggestions is to change the function SetDefaultPrinter so that the function will accept and make use of the share name.
If this is an addition of functionality (both share and printer name will work) or if it is a replacement so only share name will work ... well. I don't really mind ...

Is there any room or similar for this?