Invoke-WebRequest Access to Path is Denied UnauthorizedAccessException

It looks like you are getting an access denied because the OutFile parameter is trying to create a file named TEMP in AppData/Local folder but there is already a directory named TEMP so there is a naming conflict. I received the same error running your command as is, then I added a file name and it worked. See below:

Invoke-WebRequest http://speedtest.newark.linode.com/100MB-newark.bin -OutFile $env:TEMP\100MB-newark.bin