Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

Office 365: Bug sur le changement de logo du site racine du tenant

bannerlogo

Dans le cadre de l'utilisation d'un Tenant Office 365, le site racine est un passage oblige et il convient de le personnaliser.

Ainsi, le logo et titre est un basique de cette adaptation, car il ne nécessite aucune compétence spécifique hors des droits administrateurs. Tout fonctionne parfaitement pour les collections de sites standard (avec des urls du type : https://MySuperbRootsite.sharepoint.com/sites/MySuperbCollection).

Mais dans le cas du site racine du tenant (https://MySuperbRootsite.sharepoint.com) :

image

Une erreur apparait immédiatement après le click sur OK

image

Après de nombreuses recherches, les seules solutions trouvées sont plutôt troublantes :

Le changement de droit au niveau scripting sur tout le tenant me semble un peu cavalier pour un besoin aussi simple:

image

En revenant sur mon précédent message, il pouvait être intéressant de tester cette option via PowerShell :

Et donc je suis reparti sur un script avec Client Object Model afin de faire ce changement, en uploadant le fichier au passage dans un sous-répertoire du SiteAssets. Dans le même temps, j'ai aussi ajouté la gestion du thème directement dans le script afin de simplifier la mise en place de ce site racine.

function Add-SPOAssemblies {

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null

}

Add-SPOAssemblies

if((Get-PSSnapin "Microsoft.SharePoint.PowerShell") -eq $null)

{

    Add-PSSnapin Microsoft.SharePoint.PowerShell

    Add-PSSnapin import-module Microsoft.Online.SharePoint.PowerShell

    Set-ExecutionPolicy -ExecutionPolicy "Unrestricted" -Force

}

function SetThemeInSiteCollection([string]$MyWebURL)

{

    [string]$AssetfolderURL = "SiteAssets/MyFolder"

    [string]$AssetFoldername = "MyFolder"

    [string]$AssetListName = "Site Assets"

    [string]$TempLogoUrl = "logo_Company.png"

    [string]$TempLogoDescription = "My Company Logo"

    [string]$IMGPathFolderToUpload = "C:\TOOLS\Office365\SGS_SP_BG\"

    [string]$DefaultFileNameBG = "Default.jpg" #Define the fileName to apply as BG

    [string]$MyNewFileURL = ""

    $ctx = New-Object Microsoft.SharePoint.Client.ClientContext($MyWebURL)

    $creds = Get-Credential -Message "Office 365 Administrative credentials"

    $ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($creds.UserName,$creds.Password)

    $spoweb = $ctx.Web

    $ctx.Load($spoweb)

    $ctx.ExecuteQuery()

    $spoweb.Title

    $MyAssetslist = $spoweb.Lists.GetByTitle($AssetListName)

    $ctx.Load($MyAssetslist.RootFolder)

    $ctx.ExecuteQuery()

    [SPFolder] $newAssetFolder = $MyAssetslist.RootFolder.Folders.Add($AssetFoldername)

    $spoweb.Context.Load($newAssetFolder)

    $spoweb.Context.ExecuteQuery()

    Write-Host "Folder", $newAssetFolder, "has been created successfully. Url:", $newAssetFolder.ServerRelativeUrl

    #Upload all the OFficial BG Pictures in the Theme catalogs

    $files = ([System.IO.DirectoryInfo] (Get-Item $IMGPathFolderToUpload)).GetFiles()

    ForEach($Localfile in $files)

    {

        $MyNewFileURL = $newAssetFolder.ServerRelativeUrl +"/"+ $Localfile.Name

        [Microsoft.SharePoint.Client.File]::SaveBinaryDirect($spoweb.Context, $MyNewFileURL, $Localfile.OpenRead(), $true)

        write-host "File Uploaded:", $Localfile.FullName, ". Url:", $MyNewFileURL

    }

    #Set the Logo and description

    $spoweb.SiteLogoUrl = $spoweb.ServerRelativeUrl + $AssetfolderURL +"/"+ $TempLogoUrl

    $spoweb.SiteLogoDescription = $TempLogoDescription

    $spoweb.Update()

    $ctx.ExecuteQuery()

    #Set the Theme settings including the background default file

    [string]$MyBGFileURL = $newAssetFolder.ServerRelativeUrl +"/"+ $DefaultFileNameBG

    [string]$PalettefileURL = $spoweb.ServerRelativeUrl + "/_catalogs/theme/15/Palette015.spcolor"

    [string]$FontfileURL = $spoweb.ServerRelativeUrl + "/_catalogs/theme/15/fontscheme006.spfont"

    $spoweb.ApplyTheme($PalettefileURL, $FontfileURL, $MyBGFileURL, $true)

    $spoweb.Update()

    $ctx.ExecuteQuery()

}

Cls

SetThemeInSiteCollection "https://MySuperbRootsite.sharepoint.com/"

 

Une fois exécuté, le script pousse la mise à jour sur le tenant et modifie les paramètres souhaités.

Je vous laisse adapter celui-ci à votre besoin.

Romelard Fabrice [MBA Risk Management]

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 23 décembre 2015 14:05 par ROMELARD Fabrice

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01