Архив Январь, 2016

do-not-repeat-it-in-production_demotivator

Одна из документированных, но малоизвестных фозможностей SharePoint — восстановление случайно удалённой сайт-коллекции.

Если с сайтами-вебами всё относительно понятно и у нас есть два «форпоста» в виде корзины сайт-коллекции (http://server/_layouts/15/AdminRecycleBin.aspx?View=2 ),

и корзины Central Administration, то в случае удаления корневой коллекции которая их все и содержит — в корзине CA не будет ничего. А удаляется она так же просто, и из веб-интерфейса вообще никак не восстанавливается 🙂

connection_close

Теоретически создателям было бы неплохо добавить какую-нибудь ‘проверку-защиту от дурака’, как например сделано на GitHub-е:

Github_Are_You_sure.png

Но скорее всего её уже не впихнуть в существующую архитектуру да и вообще — это не наши методы 🙂

Как обычно — сначала создав нам проблему, SharePoint потом предлагает её решение: удалённая сайт-коллекция остаётся сидеть в объекте доступном по Get-SPDeletedSite:

Get-SPDeletedSite

Зная его SiteId, можно восстановить коллекцию сайтов обратно через Restore-SPDeletedSite:

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
Get-SPDeletedSite
Restore-SPDeletedSite -Identity 8be8d8d4-a8c5-4eda-91cd-0c27b79a050d

p.s.: И да — при желании SharePoint спешит на помощь к особо упорным желающим убить ферму, и предоставляет коммандлет Remove-SPSite, который «cannot be undone» уже и в Powershell 🙂