Nice Sajay.
It'll be good to check the existance of Queue before we create Queue:
$qb = [System.Messaging.MessageQueue]::Exists($queuename)
if($qb ! $null)
{
exit
}
$qb = [System.Messaging.MessageQueue]::Create($queuename, $transactional)
..
..
..
I don't know if syntax is correct or not, but you can correct it and add to the script.