For all those that are writing powershell scripts. I came across a unique scenario where I had to call an external application - in this scenario curl - and had to pass certain details to the application via a powershell script.
The character is a simple :
(Note: for all those wondering why I don't use build in powershell commands for downloading files from the internet, this scenario is to upload specific files to a HTTP site where a username and password is required)
Curl requires that username and password are submitted like this
<username>:<password>
Unfortunately, this caused problems with the powershell script where it would only read the username and not the password. After trying all sorts of solutions, such as ' " / \ [] {} before the : I finally found the solution!
The solution was to place the : in ' '
example: curl.exe -v --user gtlg':'randompassword --data-binary @filename https://somesite.com