This one rocks too!
$ssppath = "http://sharepoint2007:100/personals"
$out = stsadm -o enumsites -url $ssppath
$out = [xml] $out
ForEach ($web in $out.Sites.Site )
{
$url = $web.url
$name = "c:" + $url.SubString($url.LastIndexOf("/")+1).replace(":","") + ".bak"
write-host "stsadm -o backup -url $url -filename $name -overwrite"
stsadm -o backup -url $url -filename $name -overwrite
}