function Send-Tweet([string]$text, [string]$username, [string]$password)
{
$updateurl = "http://twitter.com/statuses/update.xml"
$result = $null
$text = [System.Web.HttpUtility]::UrlEncode($text)
[System.Net.HttpWebRequest] $request = [System.Net.HttpWebRequest] [System.Net.WebRequest]::Create($updateurl)
$request.Credentials = new-object System.Net.NetworkCredential($username, $password)
$request.Method = "POST"
$request.ContentType = "application/x-www-form-urlencoded"
$param = "status=" + $text
$sourceParam = "&source=PowerShell"
$request.ContentLength = $param.Length + $sourceParam.Length
[System.IO.StreamWriter] $stOut = new-object System.IO.StreamWriter($request.GetRequestStream(), [System.Text.Encoding]::ASCII)
$stOut.Write($param)
$stOut.Write($sourceParam)
$stOut.Close()
[System.Net.HttpWebResponse] $response = [System.Net.HttpWebResponse] $request.GetResponse()
if ($response.StatusCode -ne 200)
{
$result = "Error : " + $response.StatusCode + " : " + $response.StatusDescription
}
else
{
$sr = New-Object System.IO.StreamReader($response.GetResponseStream())
[xml]$xml = [xml]$sr.ReadToEnd()
$id = $xml.status.id
$tweet = $xml.status.text
if ($tweet.length -gt 50) { $tweet = $tweet.Substring(0,50) + "...(truncacted)" }
$result = "Tweet " + $id + " added : " + $tweet
}
return $result
}