SharePoint - migrate a sub-site into its own Site Collection

# Move-SPwebToNewSPsite.ps1
#
# simple outline sample of how to migrate a sub-site into its own new Site Collection.
# definately not comprehensive, but should give you an idea of what to do.
# NO I have not exported Alerts or Workflows. Food for thought!
#

Add-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$ExportShare = "\\SERVERNAME\Backup\oldWeb.CMP"
$OldSPWebUrl = "http://intranet.contoso.com/SubSite"

$newMgdPath = "Sites"
$newSPSiteName = "TheNewSite"
$Descr = "the newSite collection"

try {

  $oldSPWeb = Get-SPWeb $oldSPwebUrl

  $SPWebApp = $oldSPWeb.Site.WebApplication
  $oldSubWebUrl = $OldSPWeb.ServerRelativeUrl
  $Owner = $OldSPWeb.AssociatedOwnerGroup.Users[0].LoginName

  Export-SPweb -Identity $oldSPWeb -Path $ExportShare

  $newSiteUrl = "{0}{1}/{2}" -f $SPWebApp.Url, $newMgdPath, $newSPSiteName
 
  if (-NOT (get-spmanagedpath -Identity $newMgdPath -WebApplication $SPWebApp)) {
   new-spmanagedpath -RelativeURL $newMgdPath -WebApplication $SPWebApp
  }

  $newSPSite = New-SPsite -Url $newSiteUrl -OwnerAlias $Owner -Template "STS#0" -Description $Descr
  $newSPWeb  = $newSPSite.RootWeb
  Import-SPweb $newSPWeb -Path $ExportShare

  Remove-SPweb $oldSPWeb -Confirm:$false
 }

 catch {
  "Error caught: {0}" -f $Error[0]
 }