Weboldal keresés

Hiba történt a "Site-URL" webhely törlésekor. Az alwebhelyekkel vagy bizonyos alkalmazásokkal rendelkező webhelyek nem törölhetők. Kérjük, próbálja újra az összes alwebhely törlése és az alkalmazások eltávolítása után.


Probléma: Ha olyan SharePoint Online webhelyet próbál meg törölni, amelyen alwebhelyek vannak, a SharePoint hibaüzenetet ad, amely szerint
"Hiba történt a „” webhely törlése. Az alwebhelyekkel vagy bizonyos alkalmazásokkal rendelkező webhelyek nem törölhetők. Kérjük, próbálja újra az összes alwebhely törlése és az alkalmazások eltávolítása után.“

Megoldás:

Tehát alapvetően a SharePoint Online azt mondja nekünk: Először törölnie kell az összes alwebhelyet, hogy törölje a szülőwebhelyét. Egy alwebhely törlése mindössze néhány kattintás:

  1. Navigáljon az alwebhelyre >> Ugrás a Webhelybeállításokhoz >> Kattintson a „Webhely törlése” hivatkozásra a webhelyműveletek csoportjában.
  2. Egyszer erősítse meg a felszólítást.

Ha azonban nagyobb számú alwebhelyünk van (mondjuk: 50!), akkor minden alwebhely törlése a böngészőfelület használatával nehézkes és időigényes. Tehát a megoldás a PowerShell!

PowerShell alwebhely törléséhez a SharePoint Online-ban:


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Set Parameters
$SiteURL="https://crescent.sharepoint.com/sites/Ops/us/2017"

#Get Credentials to connect
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Credentials
         
$Ctx.web.DeleteObject()
$Ctx.ExecuteQuery()
write-host -f Green "Subsite Deleted Successfully "$SiteURL

Ez a PowerShell-szkript törli az adott webhelyet, amely alatt nincs alwebhely. Adjunk hozzá néhány hibakezelési kódot, és csomagoljuk be egy újrafelhasználható függvénybe. Az alábbi PowerShell-szkript rekurzív módon törli a webhelyet és annak összes alwebhelyét.

SharePoint Online: Webhely törlése az összes alwebhellyel a PowerShell segítségével:

Itt található a PowerShell-szkript az összes alwebhely törléséhez egy SharePoint Online webhelyről


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Get Credentials to connect
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

#Custom Function to Delete a site with subsites
Function SPODelete-Subsite ($SiteURL)
{
    Try { 
        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Credentials
        $web = $Ctx.Web
        $Ctx.Load($web)
        #Get all subsites under given site
        $Ctx.Load($web.Webs)
        $Ctx.ExecuteQuery() 
  
        #Loop through each subsite in the current web
        foreach ($SubWeb in $web.Webs)
        {
            #Call the function recursively to delete all subsites under current site
            SPODelete-Subsite($Subweb.url)
        }
 
        #Delete the subsite
        $web.DeleteObject()
        $Ctx.ExecuteQuery()
        write-host -f Green "Subsite Deleted Successfully "$SiteURL
        }
    Catch {
        write-host -f Red "Error Deleting Subsite $($SiteURL)" $_.Exception.Message
    }
}

#Set Parameters
$SiteURL="https://crescent.sharepoint.com/sites/Ops/us"

#Call the function to delete site with subsites
SPODelete-Subsite -SiteURL $SiteURL

Íme a másik cikkem az alwebhelyek SharePoint Online-ban való törléséről: Hogyan törölhetek alwebhelyeket a SharePoint Online-ban a PowerShell segítségével?

A gyökérszintű oldalt (amelynek lehetnek aloldalai) azonban gond nélkül törölheti!

Kapcsolódó cikkek