Warning: Constant USER_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 85

Warning: Constant PASS_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 86

Warning: Constant AUTH_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 87

Warning: Constant SECURE_AUTH_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 88

Warning: Constant LOGGED_IN_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 89

Warning: Constant TEST_COOKIE already defined in /var/www/admin/www/markimarta.ru/wp-config.php on line 90
Полное удаление недоудаленной коллекции сайтов SharePoint « Марк и Марта.Ру. Записки отца-программиста




Полное удаление недоудаленной коллекции сайтов SharePoint


Warning: Undefined variable $thumbnail in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 44

Warning: Attempt to read property "ID" on null in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 44

Warning: Undefined variable $thumbnail in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 45

Warning: Attempt to read property "post_title" on null in /var/www/admin/www/markimarta.ru/wp-content/themes/markimarta2023/single.php on line 45

После удалении коллекции сайтов SharePoint средствами PowerShell через команду Remove-SPSite было написано, что все окей. Правда при попытке создать SPSite с таким же именем выдавалось сообщение о том, что такое имя уже используется. Задав в PowerShell команду Get-SPSite, я обнаружил, что моя коллекция сайтов до сих пор в списке.
При попытке зайти на страницу удаляемой коллекции сайтов и получал ошибку 404 – страница не найдена. В ULS-логах ничего мне понятного не было. В любом случае, я хотел удалить SPSite, а не понять, почему он не работает.

Продолжил экспериментировать с командами в PowerShell, пытаясь заменить URL коллекции сайтов на GUID.

 

$ss = Get-SPSite -Identity https://spdev/mytempSite 
Remove-SPSite -Identity $ss.ID

 

В результате получил сообщение об ошибке:
Remove-SPSite : Не удалось завершить эту операцию.
Повторите попытку.
At line:1 char:14
+ Remove-SPSite <<<<  -Identity $ss.ID
    + CategoryInfo          : InvalidData: (Microsoft.Share... mdletRemoveSite:
   SPCmdletRemoveSite) [Remove-SPSite], SPException
    + FullyQualifiedErrorId : Microsoft.SharePoint. PowerShell.SPCmdletRemoveSiTe
Попробовал воспользоваться командой Remove-SPDeletedSite также через идентификатор, но тоже была ошибка, что не получается найти SPSite с моим идентификатором:

Remove-SPDeletedSite -Identity $ss.ID

 

Снова ошибка:

Remove-SPDeletedSite : Cannot find an SPDeletedSite object with Id or Url: …..

 

С решением проблемы помог один очень малоизвестный метод ForceDeleteSite.Он позволяет удалить из базы данных информацию о коллекции сайтов. Недостаток этого метода – он не удаляет никакие артефакты из файловой системы, так что этот метод только на крайний случай.

$site = Get-SPSite http://siteurl 
$siteId = $site.Id 
$siteDatabase = $site.ContentDatabase 
$siteDatabase.ForceDeleteSite( $siteId, $false, $false)

 

Теперь немного подробней о методе:

public void ForceDeleteSite( Guid siteId, bool gradualDelete, bool restorable )

Входящие параметры: идентификатор коллекции сайтов, $true или $false для включения параметра gradualDelete (если надо удалить сразу, то ставьте $false), $true или $false для возможности восстановления (рекомендую сразу $false).

 


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment





Срок проверки reCAPTCHA истек. Перезагрузите страницу.



MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика