This should get you started - you'll need to wrap the site creation part in a loop over your user list and possibly add some more error checking.
I know for sure this works in 2007 but haven't tested it in 2010. All the same stuff exists so it should. One final thing - this is SLOW - creating 1 user on my SP2007 server takes 5-10 seconds. If your mysites farm is beefy enough, you might actually be better off letting the users create their personal sites ad-hoc.
[Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
[Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Server")
$siteurl = "http://your.mysitesurl.com"
$site = New-Object Microsoft.SharePoint.SPSite($siteurl)
$context = [Microsoft.Office.Server.ServerContext]::GetContext($site)
$upm = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
# start loop here
$user = "domain\username"
if ($upm.UserExists($user)) {
$profile = $upm.GetUserProfile($user)
# there are other exceptions you can catch, check out the UserProfiles class
trap [Microsoft.Office.Server.UserProfiles.PersonalSiteExistsException] {
Write-Host "personal site already exists for $user"
continue
}
$profile.CreatePersonalSite();
} else {
Write-Host: "user $user did not exist"
}
# end loop here
$site.Dispose()