$url1 = [uri]::EscapeDataString("<http://test.com?test=my> value")
# url1: http%3A%2F%2Ftest.com%3Ftest%3Dmy%20value

$url2 = [uri]::EscapeUriString("<http://test.com?test=my> value")
# url2: <http://test.com?test=my%20value>

# HttpUtility requires at least .NET 1.1 to be installed.
$url3 = [System.Web.HttpUtility]::UrlEncode("<http://test.com?test=my> value")
# url3: http%3a%2f%2ftest.com%3ftest%3dmy+value

Note: More info on HTTPUtility.