Página Inicial > PowerShell, SharePoint > Como adicionar uma nova coluna a todas as visualizações de uma lista usando PowerShell

Como adicionar uma nova coluna a todas as visualizações de uma lista usando PowerShell

Dependendo de quantas visualizações/views nossa lista do SharePoint tem, se torna difícil e chato ficar adicionando um novo campo a cada uma delas. Um processo repetitivo, desgastante e sujeito a falha humana, no qual o PowerShell pode nos ajudar com excelência.

 

Este código vale para o PowerShell 1.0 que pode ser usado em um Windows 2003 server que tenha o SharePoint 2007 instalado.

Adapte-o conforme sua necessidade.

[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)
[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint.Portal”)
[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint.Publishing”)
[System.Reflection.Assembly]::LoadWithPartialName(“System.Web”)
$weburl = “http://site”
$listname = “ListDisplayName”
$fieldname = “FieldDisplayName”
$field = $null
$views = $null
$site = new-object Microsoft.SharePoint.SPSite($weburl)
$web = $site.OpenWeb()
$list = $web.Lists[$listname]
if ($list -ne $null) {
$field = $list.Fields[$fieldname]
if ($field -ne $null) {
Write-Host “Total of items: ” $list.Items.Count
$views = $list.Views;
$i = 0;
$n = $views.Count;
$view = $null;
for($i=0; $i -lt $n; $i++) {
$view = $views[$i]
Write-Host “View Name =” $view.Title “…” -nonewline
if ($view.ViewFields.Exists($field.StaticName)) {
Write-Host -foregroundcolor green “Sim Contém” -nonewline
Write-Host -foregroundcolor yellow “… Nada precisou ser adicionado!”
}
else {
Write-Host -foregroundcolor red “Não Contém” -nonewline
$view.ViewFields.Add($field.StaticName)
$view.Update()
Write-Host -foregroundcolor green “… Adicionado!”
}
#break;
}
}
}
$web.Dispose()
$site.Dispose();

Categories: PowerShell, SharePoint Tags:
  1. Nenhum comentário ainda.
  1. Nenhum trackback ainda.