Mettre à jour le type de contenu des documents d’une bibliothèque SharePoint 2010 avec PowerShell

Beaucoup de travail, beaucoup de nouvelles astuces à partager mais pas beaucoup de temps pour le faire, voici ce qui devrait changer dans les prochaines semaines.

Pour la reprise, voici quelques scripts PowerShell qui pourrait vous épargner quelques minutes d’écriture. Le premier très simple (je n’ai pas le niveau de notre SPAdmin préfére Fabrice69), pour changer le type de contenu de documents contenus dans un répertoire récemment migré :

if(-not(Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}))
{
    Write-Host "Chargement de la librairie SharePoint pour PowerShell"
    Add-PSSnapin Microsoft.SharePoint.PowerShell
}

$web = Get-SPWeb http://companyweb
# La liste contenant les documents à mettre à jour
$listRP = $web.Lists["Revue de presse"]

# On prend que certains répertoires (ici ceux contenant le nom de notre journal local)
$folders = $listRP.Folders | where { $_.Name -like "*LNC*" }
foreach ($folder in $folders)
{
   Write-Host "Mise à jour répertoire => " $folder.Name
   $files = $folder.Folder.Files
   foreach ($file in $files)
   {
        Write-host "Traitement du fichier ==>" $file.Name
        if ($file.Level -eq [Microsoft.SharePoint.SPFileLevel]::Checkout)
        {
            $file.CheckIn("Archiver par le système")
        }
        # Créez le type de contenu dans les types de contenu de site
        $file.Item["ID du type de contenu"] = $web.ContentTypes["Revue de Presse"].Id;
        # Champ de type choix

        $file.Item["Nom du média"] = "LNC";
        $file.Item.Update();
   }
}

Happy PS ! (Dédicace à mon coéquipier de terrain David)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *