Quelques scripts SPE

Sitecore Powershell Extensions (SPE) est un module qui fournit une interface de ligne de commande et un environnement de script pour intéragir avec la plateforme Sitecore et ses objets, ainsi que plusieurs nouveaux outils. Il a été développé par Adam Najmanowicz et Michael West et est par exemple un prérequis pour installer Sitecore Experience Accelerator.

Vous pouvez télécharger ce module depuis le marketplace et aussi depuis la section téléchargement de Sitecore.

Quand SPE est installé, plusieurs nouveaux objets sont visibles sur le tableau de bord de Sitecore

Powershell ToolboPowershell Toolbox est une collection d’outils prêts à l’emploi pour divers usages:

  • Creation d’un Anti-Package
  • Générateur de données en masse
  • Restaurateur d’articles en masse
  • Changeur de modèle en masse
  • Importateur de données
  • Trouver et remplacer
  • Visionneur d’index
  • Gestionnaire de sessions d’arrière-plan PowerShell
  • Recréer le site à partir du plan du site (sitemap)
  • Reconstruire les points d’intégration de script
  • Gestionnaire de session
  • Gestionnaire de site SXA
  • Gestionnaire des tâches

La console Powershell est la console sur laquelle vous pouvez écrire et exécuter vos propres scripts Sitecore Powershell.

Sa documentation est très complète, avec quelques bons examples de code.

Voici quelques scripts simples et utiles pour vous aider à démarrer et vous montrer comment utiliser SPE

Déverrouillez tous les éléments sous l’arborescence “Content”

Get-ChildItem master:\Content -Recurse | 
  Where-Object { $_.Locking.IsLocked() } | 
  % { $_.Locking.Unlock() }

Répertoriez tous les enfants d’un élément (ex: content) et depuis combien de jours ils ont été modifiés

Get-ChildItem master:\Content -Recurse | 
  Format-Table -auto Name, 
    @{Label="Modified"; Expression={ 
    [datetime]::Now.Subtract($_.__Updated).Days} }

Répertoriez tous les enfants d’un élément qui a été mis à jour au cours de la semaine dernière

Get-ChildItem master:\Content -Recurse | 
 Where-Object 
   { $_._Updated -gt [datetime]::Now.AddDays(-7) } |
 Format-Table -property DisplayName, 
    "__Updated", "__Updated By", {$.Paths.Path}

Supprimer les éléments multimédias inutilisés datant de plus d’un mois et qui n’ont pas de référence

Get-ChildItem -Path "master:\sitecore\media library" -Recurse |
  Where-Object { $_.TemplateID -ne [Sitecore.TemplateIDs]::MediaFolder } |
  Where-Object { $_._Owner -ne "sitecore\admin" 
     -and $._Updated -lt [datetime]::Today.AddDays(-30) } | 
  Where-Object { [Sitecore.Globals]::LinkDatabase.GetReferrerCount($) -eq 0 } |
  remove-Item

Obtenez tous les utilisateurs avec un e-mail vide dans leur profil

Get-User -Filter * | Where-Object { !$_.Profile.Email }

Définissez un e-mail pour un utilisateur spécifique (ici sitecore \ admin)

Set-User 
  -Identity sitecore\admin 
  -Email sitecore.admin@sigma.se

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: