I believe that you need to create a temporary placeholder first as described in the samples https://github.com/microsoftgraph/powershell-intune-samples/tree/master/LOB_Application point 2 and 3. Later on you replace it with your own file as detailed in instructions. In that moment you want to post to contentVersions/1/files it does not exist yet probably thats why you get error 400. You can troubleshoot further by trying to GET that file before POST.