J'ai un problème en essayant de mettre à jour les URL de lien dans le lancement rapide sur le site sharepoint 2013 avec powershell. Fondamentalement, je veux seulement changer l'URL de liens spécifiques. Mon code de script Powershell est la suivante:Erreur lors de la mise à jour des URL de lien dans le lancement rapide sur le site Sharepoint 2013 avec powershell
function FixUrlDocumentsLists() {
param([Microsoft.SharePoint.SPWeb]$SiteIdentity)
if ($SiteIdentity.Url -Like "http://mktintranet/sites/tmmkto/ITReports")
{
$quicklaunch = $SiteIdentity.Navigation.QuickLaunch
if($quicklaunch.Count -gt 0)
{
foreach($node in $quicklaunch)
{
if ($node.Title.ToUpper() -ne "HOME" -and $node.Title.ToUpper() -ne "SITE CONTENTS")
{
if($node.Url -eq $SiteIdentity.ServerRelativeUrl)
{
Write-Host "Fixing navigation links for web $($SiteIdentity.Title)" -ForegroundColor Yellow
Write-Host "Link Title: $($node.Title), OLD Link Url: $($node.Url)" -ForegroundColor Yellow
$node.Url=$node.Url.ToString()+"/_layouts/15/viewlsts.aspx"
Write-Host "Link Title: $($node.Title), NEW Link Url: $($node.Url)" -ForegroundColor Yellow
$node.Update()
$SiteIdentity.Update()
}
}
}
}
}
if($SiteIdentity.Webs.Count -gt 0)
{
foreach($subWeb in $SiteIdentity.Webs)
{
FixUrlDocumentsLists -SiteIdentity $subWeb
}
}
}
L'erreur se produit sur la méthode node.Update() $. La description de l'erreur est la suivante:
Exception calling "Update" with "0" argument(s): "Cannot open "/sites/tmmkto/ITReports/_layouts/15/viewlsts.aspx": no such file or folder."
Je ne parviens pas à comprendre pourquoi la méthode Update effectue la validation Url. Même si le chemin /sites/tmmkto/ITReports/_layouts/15/viewlsts.aspx existe.
Merci,
Martin