Delete Webs Recursive with PowerShell

 

$web = Get-SPWeb "https://localhost/sites/webwithsubwebs/"

 

function RemoveSPWebRecursively([Microsoft.SharePoint.SPWeb] $web)

{

 

    $subwebs = $web.GetSubwebsForCurrentUser()

   

    foreach($subweb in $subwebs)

    {

        RemoveSPWebRecursively($subweb)

        $subweb.Dispose()

    }

    Remove-SPWeb $web -Confirm:$false

}

 

 

RemoveSPWebRecursively $web