пятница, 18 мая 2018 г.

Sharepoint 2010 Отсутствуют зависимости на стороне сервера.

Когда вы удаляете web часть со страницы а потом решение из фермы, не всегда это просиходит корректно.
И у вас в мониторинге повторяется  ошика:
Название Отсутствуют зависимости на стороне сервера.
Серьезность 1 - Ошибка
Категория Конфигурация

Как удалить остатки ссылок на вебчасть написано в следующей статье:
http://get-spscripts.com/2011/06/diagnosing-missingsetupfile-issues-from.html

Для тех кто не хочет читать на английском:
Нам достаточно выполнить три операции

1. Добавляем функуию
cls
function Run-SQLQuery ($SqlServer, $SqlDatabase, $SqlQuery)
{
 $SqlConnection = New-Object System.Data.SqlClient.SqlConnection
 $SqlConnection.ConnectionString = "Server =" + $SqlServer + "; Database =" + $SqlDatabase + "; Integrated Security = True"
 $SqlCmd = New-Object System.Data.SqlClient.SqlCommand
 $SqlCmd.CommandText = $SqlQuery
 $SqlCmd.Connection = $SqlConnection
 $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
 $SqlAdapter.SelectCommand = $SqlCmd
 $DataSet = New-Object System.Data.DataSet
 $SqlAdapter.Fill($DataSet)
 $SqlConnection.Close()
 $DataSet.Tables[0]
}

#
2. Запускаем функцию для поиска 
Run-SQLQuery -SqlServer "sharepoint" -SqlDatabase "WSS_Content" -SqlQuery "SELECT * from AllDocs where SetupPath = 'Features\Conteq.Portal.Informers.Clocks_Site\ClocksWebPart\ClocksWebPart.webpart'"
select Id, SiteId, DirName, LeafName, WebId, ListId
Format-List




3. И получаем расположение 

$site = Get-SPSite -Limit all | where { $_.Id -eq "2d5af574-7c84-46f8-9dfb-97604ce40438" } # Id из результата выполнения шага 2 
$web = $site Get-SPWeb -Limit all | where { $_.Id -eq "14862926-4f4f-4619-976b-836f1fc0c012" } # WebId из результата выполнения шага 2
$web.Url

$file = $web.GetFile([Guid]”360c6303-94aa-4a07-a4d5-61d045356ba0”)
$file.ServerRelativeUrl






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