Accueil > PowerShell pour récupérer les URLS conviviales SharePoint 2013 ?
Boris Dhambahadour
12 décembre 2013

PowerShell pour récupérer les URLS conviviales SharePoint 2013 ?

PowerShell : pour récupérer les urls conviviales SherePoint 2013 ?

Comment récupérer les URL conviviales liées aux pages de publication de mon site SharePoint 2013 ?

Le but est de pouvoir sortir une liste des pages du site Sharepoint 2013 pour identifier les pages ayant plusieurs URL conviviales. PowerShell nous permet d’utiliser les objets SharePoint avec beaucoup d’aisance :

Dans le script :

on va parcourir toutes les pages de publications de notre site

[Microsoft.SharePoint.Publishing.PublishingWeb]::GetPagesListId($web)

Ensuite pour chaque term de notre termset on va récupérer son URL conviviale

[Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation]::
GetFriendlyUrlsForListItem($page, $true)

et enfin on compare cette propriété à celle de notre Page :

$friendlyUrl = $_.GetWebRelativeFriendlyUrl()

Le résultat est lisible dans le fichier de sortie en format csv.

$url = "http://yourSite:8080"
$sw = New-Object System.IO.StreamWriter("c:\temp\sample.csv")
Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
function GetConvialUrl($w) {
$pagesId = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPagesListId($web)
$publishingPages = $web.Lists[$pagesId]
foreach ($page in $publishingPages.Items)
{
$friendlyUrls = [Microsoft.SharePoint.Publishing.Navigation.TaxonomyNavigation]::GetFriendlyUrlsForListItem($page, $true)
if ($friendlyUrls.Count -ne $zero)
{
$friendlyUrls | ForEach-Object{
$friendlyUrl = $_.GetWebRelativeFriendlyUrl()
$sw.writeline($page.Name+ ";" +"Page URL: "+$web.Url+$page.Url + ";"+ $friendlyUrl)
}
}
}
}

$site = Get-SPSite $url
foreach ($web in $site.AllWebs )
{
GetConvialUrl $web
}
$sw.close()
Nos autres articles
Commentaires
Laisser un commentaire

Restez au courant des dernières actualités !
Le meilleur de l’actualité sur le Cloud, le DevOps, l’IT directement dans votre boîte mail.