TLDR – The Add-SPShellAdmin and SPWebApplication.GrantAccessToProcessIdentity are very similar in what they do, but there are a few key differences: Add-SPShellAdmin: Should be used for granting admin accounts access to...
I’m sure anyne dealing with SharePoint end user support has ran into this error: “The file name you specified is not valid or too long. Specify a different file name.”
After some searching we noticed that this is a limitation with all versions of SharePoint! http://support.microsoft.com/kb/905231. Usually renaming one or two files isn’t too big of a problem (And it never seems to be a problem if they want to get around blocked file types!), but this specific case we needed to upload thousands of documents into SharePoint. I did some more searching around online and found a few different options: powershell (love it, but to train someone who has never used it would be a fun day), create an event receiver to change the file name at the time of upload (not enough time in this case), or find an application capable of renaming bulk files. I found this little gem on sourcefourge: http://sharepointfilef.sourceforge.net/
SharePoint File Fix is capable of renaming bulk files (and even does recursive renames) to make them compatbile with SharePoint. It is a lightweight html application that doesn’t require an install and is very easy to train a user how to use it.