Get a copy of 7-Zip so you can do the zipping at the command line level. You won't even need to bother Powershell for this part.
For uploading, it depends on what your target is. Is it an FTP server, a remote domain, or ??? If it's just a server on the same domain, then you'd only need to create a "share" to that server and copy the resulting zip file to that "share". I suppose you could use something like RoboCopy to restart failed copies but I believe that may be overkill in this case.
--Jeff Moden
Change is inevitable... Change for the better is not.