-->

вторник, 29 апреля 2014 г.

Поиск всех локап полей семейства ссылающихся на список (PowerShell)

Вчера встала задача найти все поля, ссылающиеся на нужный список, так как поля были созданы не мной и не понятно как (или через столбцы сайтов или непосредственно добавляли в списках), то проверять руками все семейство, в котором несколько под сайтов мне было лень. Решил прибегнуть к PowerShell.
На написание скрипта ушло от 5 до 10 минут, руками искать ушло бы в разы больше…



Вот сам скрипт:

$SiteCollection = Get-SPSite http://server/site # заменить на свой адрес

   foreach ($web in $SiteCollection.AllWebs)
   {   
    $lists = $web.Lists
    foreach ($list in $lists)
    {
        $fields = $list.Fields
        foreach ($field in $fields)
        {
       
            if ($field.LookupList -eq '{ID списка}') # заменить на свое значение
            {
            Write-Host  "Сайт:" $web.Title ", Список:" $list.Title  ", Поле:" $field.Title
            }
        }
    }

}