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: Utiliser les alertes dans SharePoint Online

SharePoint Online permet d’utiliser les alertes via Email (ou SMS si votre tenant le permet) sur des actions se passant sur une liste ou librairie.

Pour effectuer cette mise en place, il faut aller dans la liste et suivant la vision que vous avez (moderne ou classique) vous pouvez cliquer sur “Set an Alert”.

Modern View

Dans la vision “Moderne” vous pouvez trouver le lien “Alert me” directement présent ou après les “…”, dépendant de votre niveau de permissions

SetAnAlertinSPO-02

Cette action ouvrira une fenêtre modale avec tous les paramètres à choisir selon votre souhait (nom, email, type d’action, …). Si vous avez les droits suffisants, vous pouvez aussi ajouter d’autres utilisateurs dans cette alerte créée.

image

Classic View

Dans la vue classique, vous avez l’onglet “Library” qui vous propose ensuite le bouton “Alert me” et l’action “Set Alert on this library”

SetAnAlertinSPO-01

La création de l’alerte est ensuite la même que pour la vue moderne.

Attention:

Si vous ou vos utilisateurs ne recevez pas ces alertes une fois paramétré et alors que des actions contrôlées se sont bien déroulées, il faut aller dans votre Outlook Online et vérifier les répertoires suivants:

  • Clutter
  • Junk Email

Fabrice Romelard [MBA Risk Management]

Windows: Comment comparer les outils de copie de fichiers disponibles en mode console avec un script PowerShell

Dans de nombreux cas, il est utile de pouvoir scripter ses copies de fichiers pour les intégrer dans une processus plus complèxe.

Ainsi, voici un petit script en exemple qui vous permet d’exécuter un test sur la copie d’un fichier de grande taille (10GB dans mon exemple d’un fichier MDF).

Ceci vous permet de faire une estimation sur l’outil le plus adapté à votre configuration et communiquer avec un temps estimé relativement valide.

#   ---- Start the File Move PowerShell Script ----
cls
[System.Diagnostics.Stopwatch] $sw;
$sw = New-Object System.Diagnostics.StopWatch
$sw.Start()
Import-Module BitsTransfer
Start-BitsTransfer -Source "D:\FAKE_DATABASE.mdf" -Destination "H:\FAKE_DATABASE_BITS.mdf" -Description "Datafile move" -DisplayName "Datafile move"
write-host " >>>>BITS-Transfer Time: ", $sw.Elapsed.ToString() -foreground Red

$sw = New-Object System.Diagnostics.StopWatch
$sw.Start()
cmd /c copy /z "D:\FAKE_DATABASE.mdf" "H:\FAKE_DATABASE_DOS.mdf"
write-host " >>>>DOS COPY Time: ", $sw.Elapsed.ToString() -foreground Red

$sw = New-Object System.Diagnostics.StopWatch
$sw.Start()
robocopy "D:\" "H:\" "FAKE_DATABASE.mdf" /NP
write-host " >>>>ROBOCOPY Time: ", $sw.Elapsed.ToString() -foreground Red

$sw = New-Object System.Diagnostics.StopWatch
$sw.Start()
xcopy "D:\FAKE_DATABASE.mdf" "H:\"  /E /I /Y
write-host " >>>>XCOPY Time: ", $sw.Elapsed.ToString() -foreground Red

$sw = New-Object System.Diagnostics.StopWatch
$sw.Start()
Copy-Item "D:\FAKE_DATABASE.mdf" "H:\FAKE_DATABASE_PowerShellCOPY.mdf"
write-host " >>>>PowerShell Copy Time: ", $sw.Elapsed.ToString() -foreground Red

#   ---- End the File Move PowerShell Script ----

Une fois que vous executez ce fichier, vous aurez les temps d’exécution de chaque outil vous permettant de créer un tableau tel que:

image

Il ne vous reste plus que faire le calcul avec votre fichier de production pour avoir le temps estimé.

Attention, les vitesses de copie de fichier dépendent de très nombreux paramètres à tel point qu’il est difficile de dire lequel est le meilleur de manière générale.

Fabrice Romelard [MVP]

Office 365: Configurer l’ouverture des fichiers dans Office Web Apps pour une Librarie Documentaire

Lorsqu’on travaille avec Office 365 et surtout SharePoint Online, un des gros avantages est de pouvoir ouvrir les documents dans Office Web Apps (Word, Excel, PowerPoint, OneNote Online).

Tout ceci est parfait lorsqu’on crée une librarie documentaire depuis SharePoint Online et le paramètre est automatiquement appliqué pour suivre la configuration du tenant.


Visualisation du paramètre dans une librarie

  • [Votre Document Librarie] > Library Settings > Advanced Settings

image


Configuration manuelle par l’utilisateur

En revanche, si on utilise un outil de migration, le paramètre est remis avec une valeur autre dans de nombreux cas (notamment si vous passez de SharePoint 2007 à SPO via ShareGate):

image

Ainsi, il faut absolument reconfigurer les librairies après migration pour bénéficier des applications Online au niveau des documents.


Configuration via PowerShell pour SharePoint 2013 On Premise uniquement

Pour effectuer cette modification, il faut modifier la valeur du paramètre “DefaultItemOpen” et aussi “DefaultItemOpenUseListSetting” du modèle objet SharePoint 2013/2016

Les deux paramètres ont une logique simple:

  • Soit on veut appliquer le paramètre par défaut du serveur
    • DefaultItemOpenUseListSetting = $false
  • Soit on veut appliquer un paramètre spécifique pour la liste
    • DefaultItemOpenUseListSetting = $true
    • DefaultItemOpen = [Microsoft.Sharepoint.DefaultItemOpen]::PreferClient (pour ouverture avec Office desktop)
    • DefaultItemOpen = [Microsoft.Sharepoint.DefaultItemOpen]::Browser (pour ouverture avec Office Online)

La solution est expliquée ici:


Cas particulier de Office 365 SharePoint Online

SharePoint Online n’est accessible que via le modèle ClientContext qui est une version plus light que le modèle objet SharePoint 2013/2016.

Tous les paramètres ne sont pas disponibles dans ce client même avec la dernière version de SharePoint Online Management Shell [16.0.5625.1200].

L’objet “List” ne possède donc pas ces paramètres et il n’est pas possible de scripter cette modification.


Conclusion

Non seulement la plateforme Office 365 est très mouvante et changeante, mais les basiques n’y sont pas encore tous, tels que cette modification, pourtant plutôt simple en termes d’impact et intéressante pour les clients et Microsoft (Utiliser au mieux les applications Online).

Il reste à espérer que ce paramètre sera intégré dans une prochaine mise à jour du modèle objet Client Contexte.

Liens utiles:

Fabrice Romelard [MBA Risk Management]

Office 365: Comment gérer les Access Requests dans les sites SharePoint Online

Dans les sites SharePoint Online, il est possible de gérer les demande d’accès au niveau des sites, sous-sites ou listes.

Ce principe est basé sur une solution déjà éprouvée qui était expliquée ici:

Dans Office 365, le principe est très proche de la version 2013 avec le menu “Access Requests and invitations”:

image

Vous pouvez trouver toutes les demandes en attente (sachant que les Owners de sites peuvent gérer ces options):

image

 

Vous pouvez aussi aller dans les paramètres (Site Settings > Site permissions) et définir une adresse email pour recevoir les nouvelles demandes d’accès:

image clip_image008

C’est surtout une piqure de rappel pour déléguer cette gestion de permission au niveau des propriétaires de sites pour les responsabiliser sur ces accès.

Romelard Fabrice [MBA Risk Management]

Windows 2008 R2: Réduire la taille du répertoire system volume information

3513_Windows-Server-2008-R2-Logo-V_2652ACEF

Dans certains cas, il arrive que Windows Server 2008 R2 remplisse le disque système [C:\], et en regardant plus en détail, on trouve le folder “system volume information” prenant toute la place disponible:

image

La source de ce soucis est souvent liée au processus de Shadow Copy, qu’il faut reconfigurer correctement selon son besoin.

Le détail est dans cet échange:

De ce fait, le jeu de commandes est le suivant:

  • vssadmin list shadowstorage

Ce qui dans mon cas donne le résultat suivant

image

A partir de ce moment, il faut reconfigurer le disque avec une commande du type (que vous devez adapter à votre situation):

  • vssadmin resize shadowstorage /For=C: /On=C: /MaxSize=2GB

image

Cela aura pour effet de faire un clear du contenu et de forcer la limite à la valeur voulue.

On retrouve alors une situation plus normale sur la machine concernée.

image

Fabrice Romelard [MBA Risk Management]

Office 365: Comment éviter de taper son mot de passe du Tenant dans les scripts PowerShell

Lorsqu’on commence à gérer un Tenant Office 365, quelque soit le module à gérer, PowerShell est le seul outil à maîtriser absolument.

En revanche, il devient très rapidement pénible de taper le mot de passe du compte Office 365 à chaque exécution du script, et surtout impossible de scheduler un script avec ce concept. On ne va pas pour autant stocker son mot de passe en clair dans un fichier texte de la machine.

La solution est donc d’utiliser un script de génération de fichier avec le password crypté qui peut ensuite être utilisé dans son script

Voici donc un petit exemple de script:

[string]$username = "YourTenantAccount@yourtenant.onmicrosoft.com"
[string]$PwdTXTPath = "C:\FOLDERTOSTOREPWD\ExportedPWD-$($username).txt"

Write-Host " >> Account used:", $username -Foreground "Green"

Read-Host -Prompt "Please enter password:" -AsSecureString | ConvertFrom-SecureString | Out-File $PwdTXTPath

Write-Host " ---------------------------------------------- "
Write-Host " >> Your SecuredString file is stored in", $PwdTXTPath
Write-Host "    =>> You can use it in your script" -Foreground "Red"
Write-Host " ---------------------------------------------- "

Ce fichier qui sera stocké avec le path exact: “C:\FOLDERTOSTOREPWD\ExportedPWD-YourTenantAccount@yourtenant.onmicrosoft.com.txt” pourra être utilisé dans votre script de connexion comme suit:

[string]$username = "YourTenantAccount@yourtenant.onmicrosoft.com"
[string]$PwdTXTPath = "C:\FOLDERTOSTOREPWD\ExportedPWD-$($username).txt"

$secureStringPwd = ConvertTo-SecureString -string (Get-Content $PwdTXTPath)

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

$creds = New-Object System.Management.Automation.PSCredential -ArgumentList ($username , $secureStringPwd)
$ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($creds.UserName,$creds.Password)
$ctx.RequestTimeout = 1000000 # milliseconds
$spoweb = $ctx.Web
$ctx.Load($spoweb)
$ctx.ExecuteQuery()

Write-Host
Write-Host $ctx.Url -BackgroundColor White -ForegroundColor DarkGreen

Il ne vous reste plus qu’à mettre à jour ce fichier à chaque changement de mot de passe.

Liens utiles:

Romelard Fabrice [MBA Risk Management]

Office 365: Portal.office.com avec le compatibility View d’Internet Explorer 11

Microsoft a annoncé avec Windows 10 la fin du navigateur Internet Explorer, et de ce fait IE 11 est la dernière version.

C’est aussi le seul navigateur Microsoft possible sur l’OS Windows 7 (qui est encore sous support pour un moment). Nous avons d’ailleurs déjà eu des surprise avec une option de ce browser “Compatibility View Setting” avec SharePoint 2007 (SharePoint 2007 : Internet Explorer 10 incompatible avec certaines fonctionnalités).

Cette fois, ce paramètre joue des tours pour les utilisateurs Office 365 sous Windows ,  en ne présentant pas le même écran suivant sa configuration. D’ailleurs le même effet n’est pas toujours constaté sur Windows 10 (sans réelle explication).


Avec “Display intranet sites in Compatibility view” activé

image

On voit donc la page d’accueil Office 365 [https://portal.office.com] sans la barre de recherche et sans les fichiers proposés (au bas de la page).


Avec “Display intranet sites in Compatibility view” désactivé

image

La même page d’accueil présente maintenant la barre de recherche ainsi que les derniers documents accédés.


Windows 10 n’est pas aussi catégorique et sans pouvoir l’expliquer, le paramètre n’est pas toujours pris en compte, en revanche, c’est toujours vrai pour Windows 7.

De plus ce changement ne concerne que le navigateur Internet Explorer, pour les utilisateurs sous FireFox, Chrome ou autres, la barre de recherche est toujours présente.

Romelard Fabrice [MBA Risk Management]

Office 365: Comment utiliser la DLL Microsoft.SharePoint.Client.UserProfiles.dll dans son code PowerShell

Nous avons vu dans un précédent article comment accéder à la base de profile de son Tenant Office 365 via PowerShell:

Et les première lignes du code d’exemple chargent les DLL nécessaires:

Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.UserProfiles.dll"

La partie plus probématique est la troisième ligne, car pour utiliser ce code telquel, il faut avoir installé le package:

Dont la date commence un peu à dater, mais surtout qui n’est pas compatible avec le package de management en PowerShell nécessaire pour Office 365:

Nous avions évoqué ce point dans un message relatif à la mise en place d’un serveur de gestion Office 365:

Ce package contient de nombreuses DLL, mais pas celle des profiles (Microsoft.SharePoint.Client.UserProfiles.dll) comme on peut le voir ci-dessous:

clip_image002

La solution est un peu barbare, mais a le mérite de fonctionner, car le seul but est d’obtenir une copie de cette DLL pour son code PowerShell.

Pour cela, il existe plusieurs méthodes, plus ou moins sauvage.

La plus simple est l’utilisation d’un outil d’unzip pour extraire le contenu du fichier MSI et trouver alors les fichiers (dans l’exemple avec 7ZIP):

image

image

Les fichiers DLL sont alors tous présent et il suffit de le renommer selon son besoin et de l’utiliser dans son script.

La seconde méthode est plus propre, car utilisant le moteur d’installation de Microsoft “MSIExec”.

image

Elle s’utilise selon le modèle:

  • msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test

Ce qui donne dans notre cas précis la commande suivante:

  • msiexec.exe /a C:\TEMP\sharepointclientcomponents_16-4002-1211_x64-en-us.msi /qb TARGETDIR=C:\TEMP\sharepointclientcomponentsMSIFiles

Après quelques secondes, on trouve le contenu de ce package dans le répertoire voulu:

image

On trouve à ce moment les fichiers DLL simplement dans les sous-répertoires, comme pour notre cas précis, dans le sous-répertoire “GAC_MSIL”:

image

Il ne nous reste plus qu’à copier ce fichier “Microsoft.SharePoint.Client.UserProfiles.dll” dans notre repository qui sera utilisé par PowerShell.

Voici un exemple de script PowerShell utilisable pour les cas de serveur de gestion (Office 365: Monter une machine de management pour gérer Office 365):

[string]$defaultDLLPath = ""
# Load assemblies to PowerShell session
$defaultDLLPath = "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.dll"
[System.Reflection.Assembly]::LoadFile($defaultDLLPath)
$defaultDLLPath = "C:\Program Files\SharePoint Online Management Shell\Microsoft.Online.SharePoint.PowerShell\Microsoft.SharePoint.Client.Runtime.dll"
[System.Reflection.Assembly]::LoadFile($defaultDLLPath)
$defaultDLLPath = "C:\TEMP\sharepointclientcomponentsMSIFiles\GAC_MSIL\Microsoft.SharePoint.Client.UserProfiles.dll"
[System.Reflection.Assembly]::LoadFile($defaultDLLPath)

Cette stratégie est adaptable pour toutes les autres DLL qui ne sont pas dans le package de management PowerShell pour Office 365.

Romelard Fabrice [MBA Risk Management]

Office 365: Comment obtenir des informations des Users Profiles du tenant via PowerShell

SharePoint Server permet depuis plusieurs versions de présenter les profiles d’utilisateurs, ceci basé sur un mix de données provenant de l’Active Directory et des données ajoutées par l’utilisateurs lui même.

Lors du passage à Office 365 et donc SharePoint OnLine, ce principe reste valable et on peut gérer un certain nombre de paramètres via l’application “SharePoint Admin Center”:

image

En revanche, comment se connecter à cette base de profiles depuis PowerShell ?

Pour cela, voici un exemple de code permettant de vous connecter sur la base de profiles et de lister les propriétés dans des fichiers Txt (uniquement à titre d’exemple):

Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.UserProfiles.dll"

$site = 'https://YourTenant-admin.sharepoint.com/'
$mysite = 'https://YourTenant-my.sharepoint.com/'
$admin =
'AdminEmail@YourTenant.onmicrosoft.com'

$password = Read-Host 'Enter Password' -AsSecureString

$context = New-Object Microsoft.SharePoint.Client.ClientContext($site)
$contextmy = New-Object Microsoft.SharePoint.Client.ClientContext($mysite)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($admin , $password)
$context.Credentials = $credentials
$contextmy.Credentials = $credentials
$users = $contextmy.Web.SiteUsers
$contextmy.Load($users)
$contextmy.ExecuteQuery()

$people = New-Object Microsoft.SharePoint.Client.UserProfiles.PeopleManager($context)
$personProperties = $people.GetMyProperties();

$collection = @()

Foreach($user in $users)
{
    $userprofile2 = $people.GetPropertiesFor($user.LoginName)
    $context.Load($userprofile2)
    $context.ExecuteQuery()

    If($userprofile2.Email -ne $null)
    {
        
        $userprofile2.UserProfileProperties | Out-File C:\TEMP\$($userprofile2.Email).txt  -Encoding UTF8
     }
}

Ce code n’a aucune intelligence est plutôt à caser dans la liste des codes PowerShell trash, en revanche, il peut servir de base pour autre chose de plus subtile selon votre besoin.

A vous de laisser s’exprimer votre fibre artistique.

Romelard Fabrice [MBA Risk Management]

Event: La saison des conférence reprend, comme les champignons

Après une pause de plusieurs mois, me voici à nouveau sur des évènements pour présenter une des composantes importantes de la suite Office 365.

Tout d’abord, le Samedi 8 Octobre à Lyon pour le SharePoint Saturday Lyon:

image

Pour les personnes ne pouvant se rendre à Lyon, je présenterai à nouveau cette session quelques jours plus tard à Genève, le Mercredi 12 Octobre durant le meeting du Swiss SharePoint Club:

image

J’espère vous voir nombreux, sauf si c’est pour me jeter des tomates moisies Smile

Romelard Fabrice [MBA Risk Management]

Office 365: Le ContentTypeHub et les Content Types Orphelins

Nous avons découvert dans un précédent message les possibilités offertes par le Hub de Types de Contenu ou Content Type (CT):

Cette solution est une fonctionnalité très intéressante mais qu’il faut prendre avec beaucoup d’attention.

En effet, le principe est basé sur un Timer qui s’exécute au sein de la ferme toutes les XX minutes pour publier les modifications à toute la ferme ou tout le tenant pour Office 365.


Création d’un Content Type orphelin

Le cas typique est la création d’un CT qui a été publié et qui est supprimé du Hub avant d’avoir été totalement “dépublié” de la ferme ou du tenant. Le résultat est donc la présence au sein de certaines collections (voir toutes) de ces CT qui sont maintenant orphelin du Hub. A cela il faut rajouter la même présence dans les collections “OneDrive” des utilisateurs de ces mêmes CT.

Prenons un exemple concrêt:

Imaginons maintenant un tenant de 30’000 utilisateurs avec 20’000 collections OneDrive, à cela on rajoute une 100 de sites SharePoint classiques.

On parle donc de 20’100 collections de sites qui sont susceptibles de recevoir les CT depuis le Hub. Maintenant, on publie un CT et disons qu’il mette 5 secondes par collection pour se déployer au sein du tenant (valeur hypothétique bien sur). Il nous faudra donc 100’500 secondes pour publier le CT sur tout le tenant, soit environ 28 heures au total.

Il suffit maintenant d’imaginer un administrateur, un peu trop pressé et voulant corriger son erreur, peut très facilement supprimer le CT du HUB avant même que celui-ci soit publié partout et donc créer des orphelins dans de nombreuses collections.

Le cas est expliqué en commentaire de ce post d’ailleurs:


Nettoyer les Content Type orphelins

La solution est un peu tricky mais fonctionne bien surtout quand on souhaite éviter d’aller sur 20’100 collections de site et supprimer les CT à la main. Il faut trouver une collection ou le CT est encore présent pour obtenir:

Une fois qu’on a cela, il faut utiliser un script PowerShell (Le CT ID peut être défini uniquement via Code) utilisant la base fournie:

Vous devez juste modifier la partie centrale en commentant les colonnes et forcant l’ID:

# create Content Type using ContentTypeCreationInformation object (ctci)
$ctci = new-object Microsoft.SharePoint.Client.ContentTypeCreationInformation
$ctci.id = $MyContentTypeID
$ctci.name = $contentTypeName
#$ctci.ParentContentType = $parentContentType
$ctci.group = $contentTypeGroup
$ctci = $contentTypes.add($ctci)
$context.load($ctci)

Ce script doit être exécuté sur le Content Type Hub pour recréer les CT (Vides pour le coup) afin de les republier et dépublier après 24/48 heures.

C’est seulement une fois la dépublication effectuée que vous pouvez supprimer les CT du Hub (en vérifiant les log d’exécution dans le Hub).


Attention

La dépublication ne fonctionne que si le site collection admin n’a pas utilisé ce CT dans sa collection. Si c’est le cas, la dépublication ne s’exécutera pas sur cette collection.


Conclusion

L’utilisation du CT Hub est vraiment une très bonne chose, mais il faut vraiment bien réfléchir à sa stratégie avant de créer ces CT dans le Hub sous peine de devoir risquer de gros soucis.

Romelard Fabrice [MBA Risk Management]

Office 365: Comment trouver simplement l’adresse de la collection de site associée à une chaine

Peu à peu, nous découvrons ensemble différents aspects autour du service de vidéo d’Office 365:

Lors de la création d’une chaine (Channel), l’application crée automatiquement une collection de sites pour stocker le contenu associé et gérer les permissions. De ce fait, pour un administrateur, il peut être utile de connaître l’URL de la collection de sites associée à une chaine.

La solution la plus simple nécessite d’avoir au moins une vidéo présente dans la chaine, mais ne demande aucune application.

Il suffit donc d’aller dans une des vues listant les vidéos de la chaine

image

et cliquer avec le bouton droit sur l’image (thumbnail) de la vidéo et choisir “propriétés”

image

pour trouver dans la propriété “Address” l’URL du fichier image en question

image

Cette adresse URL est toujours du format:

  • https://[yourtenant].sharepoint.com/portals/XXXXX/

Il ne vous reste plus qu’à copier cette adresse dans votre navigateur WEB pour accéder à la collection de sites contenant les vidéos de la chaine.

Romelard Fabrice [MBA Risk Management]

Office 365: La distribution des types de contenu à travers le tenant - ContentTypeHub

Le Content Type (ou type de contenu) est une des fonctionnalité disponible dans SharePoint depuis 2007. Chaque génération de SharePoint reçoit des améliorations autour de cette stratégie de contenu typé.


Le Content Type Hub

Ainsi depuis 2010 et principalement 2013 Microsoft a permis la mise en place de Hub de Content Type:

La raison de cette nouveauté est l’isolation des collections de sites, car les content types sont créés au niveau de la racine de la collection et utilisable à n’importe quel niveau de l’arborescence de cette collection.

En revanche, avoir un content type tranverse entre collection est très difficile à maintenir, puisque chaque modification exige de rejouer cette modification sur toutes les collections utilisant ce type de contenu.

Le Content Type Hub permet d’avoir un master de Content Types qui est ensuite utilisable:

  • dans n’importe quel niveau du tenant, toutes les collections (sauf les collections de Vidéo Portal)
  • dans tous les OneDrive utilisateurs


Dans un tenant Office 365

Cette logique est totalement adaptée au monde Office 365 SharePoint Online et il est activé par défaut dans tous les tenants Enterprise. En revanche la collection de sites HUB n’est pas visible dans la liste des sites existants (comme de nombreux sites d’ailleurs), mais son adresse est sous le format:

On peut dès lors créer un type de contenu dans cette collection,

image

Puis le publier (ou republier si vous devez le modifier)

image image

le voir apparaître dans toutes les autres collections (entre 15 et 60 minutes) pour l’utiliser dans vos listes selon vos besoins

Dans un OneDrive
image
Dans une collection de sites
image


Suivre les publications de Types de contenu

Pour effectuer un monitoring de ce qui est publié depuis ce hub, il faut aller dans la collection du Hub et chercher dans les menu d’administration de la collection “Publication de type de contenu” ou “Content Type Publishing”

image

Cette page vous permet de forcer la mise à jour de tous les types de contenu publiés et suivre les erreurs éventuelles


Conclusion

Cette solution est très pratique pour réfléchir autour des modèles de document corporate que vous souhaitez appliquer sur tout un ensemble de sites afin de mettre à disposition de vos utilisateurs les modèles officiels de votre entreprise.

Romelard Fabrice [MBA Risk Management]

Office 365: Les navigateurs supportés par Office 365 Video Portal

Office 365 Video Portal est une solution vraiment attractive pour les entreprises afin de mettre en place une communication basée sur des vidéos, ou pour des solution de training interne.

Dans le cadre d’une mise en place globale, il convient de connaître au mieux sa population d’utilisateurs et valider que la solution est adaptée avec ces configurations type.

Ainsi, en regardant les statistiques globales de répartition des systèmes d’exploitation, on ne peut pas ignorer la présence des versions anciennes de Windows:

image

On voit dans le schéma ci-dessus (pour le mois de Juillet 2016) Windows 7 et XP représente plus de la moitié des machines, de plus on sait que de nombreuses entreprises sont encore totalement sous Windows 7.

Le support des navigateurs par Office 365 Video est détaillé dans la page

image

Quand on regarde cette page:

  • Le premier point est que la version minimale d’Internet Explorer est 9, or Windows XP ne supporte que IE 8 pour sa dernière version.
  • Pour Windows 7, le navigateur Internet Explorer est bien IE 11, mais avec un comportement différent de celui de Windows 8/8.1/10. Ainsi, le player de vidéo se fait uniquement avec le module Adobe Flash.

Il convient maintenant de voir comment se comporte la solution Office 365 sur chacune de version d’OS


Windows XP et Office 365

Officiellement cet version n’est plus du tout supportée par Microsoft, mais avec plus de 10% d’utilisateurs, on ne peut pas les ignorer.

Lorsqu’on lance Microsoft Internet Explorer 8, qui est la dernière version supportée par cet OS, l’aventure s’arrète immédiatement après le portail Office.com avec de très nombreuses erreurs Javascript:

image Il est donc totalement impossible d’utiliser Internet Explorer sous Windows XP pour accéder à Office 365 Video Portal.

Par contre, losque l’on regarde le tableau de support, Firefox ou Google Chrome sont totalement compatibles si on maintient les versions à jour

image

Mais en essayant avec Firefox d’accéder au site du Video Portal, tout semble être OK, car on voit tous les Channels et les thumbnails de chaque video. Mais lorsque l’on veut visionner une vidéo, le message suivant apparaît, nous renvoyant alors vers la page de présentation de Office 365 Video Portal

image image

Par contre, avec Google Chrome, le résultat est différent puisque la vidéo se lance et le player est celui HTML 5 (donc supportant les sous-titres)

image

  • On peut donc dire qu’Office 365 Video Portal supporte Windows XP que pour Google Chrome


Windows 7 et Office 365

Le cas de Windows 7 est plus subtile, car cet OS est encore supporté par Microsoft pour quelques années et donc les développeurs ne doivent pas l’ignorer, en revanche il est impensable de demander une modification de l’OS hors du cadre des patches de sécurités.

De ce fait, Microsoft ne supporte Office 365 Video Portal pour Windows 7 que dans le contexte suivant:

  • Google Chrome avec le Player HTML5 (total support des sous-titres)
  • Firefox avec le Player HTML5 (total support des sous-titres)


Conclusion

Il convient donc de bien savoir ce que vous souhaitez faire avec Office 365 Video Portal avant de partir sur cette solution et surtout de matcher avec la configuration de vos postes utilisateurs.

Si les sous-titres ne sont pas essentiels pour vous, tout est OK pour Windows 7, mais si c’est un point important, il est indispensable de passer sur un navigateur alternatif.

Romelard Fabrice [MBA Risk Management]

Office 365: Le versionning dans OneDrive for Business

OneDrive for Business utilise un mix de technologies dont certaines des fonctionnalités de SharePoint Online.

Lorsque l’on crée son espace OneDrive for Business, en interne, il s’agit plus ou moins d’une site SharePoint avec une unique librairie documentaire qui sera ensuite synchronisée via le client Offline OneDrive sur votre machine de travail.

La page d’accueil a été totalement retravaillée pour en simplifier son usage avec les options basiques de gestion

image


Activation des menus de gestion

En revanche, on trouve sur le bas à gauche un lien pour passer la page de présentation avec le look SharePoint 2013 auquel on peut rajouter le ruban, via le menu sur la droite

image image

Une fois ce menu réactivé, on obtient enfin toutes les options classiques de gestion des librairies documentaires

image


La gestion des versions de document

Maintenant que nous avons les options de gestion, il faut aller dans les paramètres pour trouver ceux de versionning

image image

En on trouve le niveau de gestion des sauvegardes de versions

image

Ainsi, dans mon cas, les versions sont toutes enregistrées sans aucune limite de nombre, ce qui est discutable pour la bonne gestion de votre volume par collaborateur.

Dans certains cas, une valeur limite peut être paramétrée à 500 pour le champ “Conserver le nombre suivant de versions principales”

image


Impact du versionning sur l’utilisation du volume alloué par collaborateur

Deux cas précis se distingue dans cette question de la place occupée par les versions:

  1. Document Office 2013/2016 modifié directement en sauvegarde dans le cloud ou dans le répertoire Offline
  2. Document Office ou autre type uploadé manuellement par le client Web (ou écrasé dans le répertoire Offline)

Le cas numéro 1 permet de voir entrer en jeu la sauvegarde des deltas de modification.

Pour faire simple, lors de la modification du document Office (via Office Rich Client ou Web Client), le système ne fait passer au niveau réseau que le Delta de ce qui a été modifié dans le document et non le fichier tout entier. Par contre le moteur SharePoint (OneDrive for Business) crée une nouvelle version une fois le mode édition terminé. On voit alors la multiplication des versions du document avec le menu “Historique des versions”

image image

Le cas numéro 2 correspond à tous les autres types de documents. Le changement de version correspond simplement à :

  • l’utilisation du client dédié au fichier dans le répertoire offline
  • le changement du document (copier/coller) dans ce même répertoire offline
  • l’upload d’une nouvelle version du document dans le même emplacement (répertoire) via le site web

Le transfert réseau est différent du client Office, car l’intégralité du fichier est remplacé et donc uploadé vers le stockage cloud, par le client web ou le client offline.


Conclusion

Cette fonctionnalité de versionning est vraiment intéressante pour un usage courant, mais il faut absolument comprendre les risques de sur consommation des espaces OneDrive collaborateurs avec des fichiers multimédia ou des fichiers ayant un très grand nombre de versions.

Romelard Fabrice [MBA Risk Management]

Office 365: Gestion des Thumbnails dans Office 365 Video Portal

Nous avons vu dans un précédent article la gestion des sous-titres dans Office 365 Video Portal:

Mais il existe d’autres options de personalisation offertes par la plateforme.


Introduction

En effet, lors du chargement d’une vidéo dans la plateforme Office 365 Vidéo, celle-ci propose une série de 5 images en miniatures (thumbnails) qui sont d’ailleurs générés automatiquement par le système.

Il y a alors deux options:

  • Laisser Office 365 Vidéo attribuer la première miniature automatiquement
  • Choisir une miniature spécifique

La première option ne demande rien au responsable de contenu.


Choisir la miniature pour une vidéo parmis la liste automatique

Pour effectuer cette sélection, il faut aller dans la vidéo (après le travail de conversion effectué par Azure Media Services) et sélectionner dans le menu “Thumbnail”

image

A ce moment, le système propose 5 images autogénérées dont la première est celle utilisée par défaut

image

Les images présentées dans cette liste sont générées à la volée par un fichier ASHX specifique qui sera appelé selon la règle suivante:

  • getpreview.ashx?guidSite=36b8e1b1-c7fa-4b3e-9d0a-d9c391f4ae89&guidWeb=02f1cf27-6f8a-438a-a08d-1f3805e66b11&guidFile=40dea05e-0fff-4bd1-9ea9-69afccb4b7bd&index=4

Le numéro de l’index va bien sur de 0 à 4 (pour les cinq previews proposées).

Lorsque l’on choisie une miniature, celle-ci est alors stockée en PNG dans la librairie SharePoint Video de la Collection associée au Channel


Comment sont choisies les miniatures par Azure Media Services ?

Le calcul est basé sur le temps de la vidéo en secondes.

Ainsi prenons le cas d’une video de 500 secondes (8 min 20 secondes), le moteur va donc calculer un pas basé sur le nombre de miniatures (5):

  • Pas de capture = 500 sec / 5 thumbnails = 100 secondes

En revanche, la première image sera prise à un demi pas, et non un pas entier, ceci afin de ne pas avec une image vide en fin, comme dans beaucoup de videos.

On peut donc déduire le minutage de chacune des thumbnails avec le calcul suivant:

  • Thumbnail N°1: (durée de la video en secondes) / (nombre de thumbnails) / 2
  • Thumbnails du N°2 à 5: (durée de la video en secondes) / (nombre de thumbnails) / 2 + ((Numéro du thumbnail – 1) * (durée de la video en secondes) / (nombre de thumbnails))

Donc dans notre exemple d’une vidéo de 500 secondes, nous auront des thumdnails au secondes suivantes: 50, 150, 250, 350 et 450


Choisir la miniature personnalisée

Il est par contre possible de charger sa propre miniature pour ne pas être dépendant du rythme du générateur, pour cela, il faut cliquer sur le bouton “Upload an Image”

image

A ce moment, vous pouvez uploader une image selon votre besoin réel depuis votre poste de travail. Ce fichier sera alors stocké dans la librairie vidéo en respectant la même logique que lors du choix d’un thumbnail automatique:

Il sera stocké en interne dans son format original, mais le fichier ASHX génère plusieurs miniatures selon la valeur donnée dans le paramètre “width”, telle que suit:

  • Certaines largeurs donneront une image rectangulaire (ratio 16/9)
  • Si votre fichier source est au format carré, certaines largeurs donneront une image carrée (au dessus de 500px)

Quelque soit la miniature choisie, la mise à jour de celle-ci est faite quelques secondes après le changement dans tous les affichages de la vidéo.


Conclusion

Cette solution est simple à gérer et permet d’apporter une présentation plus agréable des listes de vidéos. Il est aussi utilisé pour les images plus grande dans les pages de news (avant de cliquer sur le bouton play).

Romelard Fabrice [MBA Risk Management]


Liens en rapport

Office 365: Gestion des sous-titres dans Office 365 Video Portal

Office 365 est une plateforme en constante évolution, dont une des grosses nouveautés récentes est le portail vidéo Intranet.

Je ne ferai pas une présentation de la solution, car d’autres ont déjà fait ca très bien:

On trouve d’ailleurs un site de proposition de feedbacks pour cette nouvelle plateforme, dans lequel chacun peut proposer ou promouvoir une idée d’amélioration:


Principe de base

Revenons sur le sujet de notre post, la plateforme Office 365 Video Portal permet de proposer l’affichage direct des sous-titres pour une vidéo donnée. Le principe sous-jacent est bien sur de limiter le volume de fichiers stocker, tout en proposant une valeur ajoutée importante pour les utilisateurs. De ce fait, les entreprises globales peuvent réduire largement le temps associé à la création de contenu média pour le groupe:

  • Une seule video dans la langue corporate
  • Tous les sous-titres dans les langues locales

Cette fonctionnalité est très récente puisque la publication date de Mars 2016:


Chargement d’un sous-titre

Vous pouvez donc ajouter pour une vidéo donnée différents sous-titres localisés au format WebVTT uniquement. A noter qu’il existe de nombreux convertisseurs en ligne SRT vers VTT (par exemple: https://atelier.u-sub.net/srt2vtt/).

Ainsi une fois la vidéo chargée dans la plateforme, vous pouvez ajouter un fichier de sous-titre en cliquant sur “Manage” puis “Subtitles or captions”

image

Une fenêtre modale se charge sur la droite affichant les langues déjà chargées

image

Il faut alors cliquer sur “Upload a new file” pour sélectionner la langue du sous-titre à ajouter, puis cliquer sur “upload”

image image

On va alors chercher le fichier VTT qui sera ensuite visible dans la plateforme comme nouvelle traduction.

Attention:
L’encodage du fichier VTT doit être absolument en UTF8, sinon les caractères accentués ne passeront pas dans le lecteur.


Stockage des fichiers VTT

Comme l’article “All about the Office 365 Video Portal” l’explique très bien, le système du Portal Video d’Office 365 est basé sur des collections de sites qui sont créés pour chaque “Channel”. Ainsi, le stockage des fichiers vidéo se font lors de l’upload (utilisé par Azure Services pour le streaming en lecture).

Les sous-titres font parti de cette logique de stockage dans la collection de site SharePoint, et si on se rend dans la collection créée par la plateforme:

On trouve une document library “pvid [Videos]”

image

Et cette librairie contient les fichier vidéos, mais aussi les fichiers sous-titre ou encore les miniatures

image

Au passage, on voit que les fichiers sont gérés avec le statut “Approve”. Le “Content-Type” du sous-titre est générique pour les fichiers attachment.


Lecture avec sous-titre sur Windows

Pour l’utilisateur, la présentation de ces sous-titres locaux se fait dans le lecteur video par le bouton sur le bas à droite, qui ouvre le choix des langues disponibles. Il faut aussi savoir que ce bouton n’apparait que si au moins un sous-titre a été chargé pour la vidéo en question

image

Attention:
Le composant de lecture est fourni sous plusieurs versions:

  • HTML 5
  • Adobe Flash

Un problème apparaît alors pour les utilisateurs ayant le lecteur chargé en Flash, les sous-titres ne sont pas gérés et donc ils ne peuvent pas profiter de cette solution.

image

Il faut trouver un moyen pour ne pas charger sur vos PC le player flash, mais bien le player HTML 5.


Lecture avec sous-titre sous iOS

Les smartphones sont bien sur une part importante de la stratégie de Microsoft avec Office 365 et la vidéo ne fait pas exception. Ainsi, la gestion des sous-titres fonctionne parfaitement avec un iPhone sous iOS 9 comme on le voit ci-dessous.

image image
Il en est de même sous Android.


Paramétrage du visualiseur de sous-titre

Le player HTML5 est paramétrable pour la visualisation des sous-titres en laissant l’utilisateur définir sa propre configuration d’affichage

image

Cela permet un agrément de lecture adapté à chacun.


Conclusion

Cette solution Office 365 Video Portal est une fonctionnalité très importante pour la communication interne aux entreprises dont les utilisateurs sont de plus en plus distribués dans le monde.

Romelard Fabrice [MBA Risk Management]

WSUS: Requête SQL permettant des rapports plus pratiques pour la gestion des serveurs Windows

wsus_logo

Dans un environnement gérant de nombreux serveurs, il est rapidement intéressant de mettre en place une solution de mise à jour automatique permettant de ne pas télécharger tous les patches directement depuis les sites Microsoft. Cela permet de piloter un minimum le contrôle et le déploiment de ceux-ci.

La solution la plus simple et la moins coûteuse est disponible chez Microsoft “Windows Server Update Services”. Elle est simple dans sa configuration et sa gestion, mais reste limitée.

Sa principale limitation se trouve dans la possibilité d’avoir des rapports clairs sur l’état de son parc informatique en rapport avec les patches Microsoft, surtout dans un monde demandant de plus en plus de rapport de compliance.

Après avoir cherché un long moment, voici les quelques sources qui m’ont permis de créer des rapports ajouté dans ma solution Reporting Services avec un abonnement hebdomadaire par email:

Par exemple, le code suivant permet de voir pour chaque serveur le nombre de patches par statut:

SELECT
    c.FullDomainName AS 'SERVER_NAME',
    c.IPAddress AS 'IP_ADDRESS',
    (CASE
        WHEN a.State = '1' THEN 'Not Applicable'
        WHEN a.State = '2' THEN 'Not Installed'
        WHEN a.State = '3' THEN 'Downloaded'
        WHEN a.State = '4' THEN 'Installed'
        WHEN a.State = '5' THEN 'Failed'
        WHEN a.State = '6' THEN 'InstalledPendingReboot'
        ELSE 'Unknown'
        END)
    AS 'INSTALLATION_STATE',
    count(c.fulldomainname) as 'TOTAL_ITEMS'
FROM
    [PUBLIC_VIEWS].[vUpdateInstallationInfoBasic] a
LEFT JOIN [PUBLIC_VIEWS].[vUpdate] b
    ON b.UpdateID = a.UpdateID
LEFT JOIN dbo.tbComputerTarget c
    ON c.ComputerId = a.ComputerTargetId
GROUP BY
    c.FullDomainName,
    c.IPAddress,
    a.State
ORDER BY
    c.FullDomainName

Ces liens m’ont permis de créer plusieurs rapports qui sont ensuite délivrés aux équipes de production pour suivre les serveurs et gérer les campagnes de patching.

Romelard Fabrice [MBA Risk Management]

Office 365: Sauvegarder un WorkBook OneNote 2016 depuis OneDrive

Avec l’arrivée de la plateforme Office 365, plusieurs clients sont founis dans le package Office Pro Plus 2016. Au sein de ce package se trouve OneNote 2016 qui devient rapidement indispensable si on prend le temps de comprendre sa logique.

image

Cette application est encore mieux lorsqu’on la couple avec OneDrive for Business, car le bloc note devient accessible depuis n’importe quel plateforme:

  • Le client riche OneNote sur le PC ou MAC
  • Le client Web OneNote Online depuis son MySite (OneDrive)
  • Les clients OneNote sur plateforme mobile

On entre dans le parfait exemple de la logique “AnyWhere, AnyTime on Any Device”.

Tout ceci semble magique, mais comme toujours la simplicité est toujours très complèxe, et ce cas n’échappe pas à la règle.


Stockage des NoteBook dans OneDrive

Si on enregistre son bloc note dans son espace OneDrive, on trouve alors en ligne un fichier un unique fichier pointeur de ce bloc note

image

En passant en Mode Windows Explorer, on voit alors qu’il s’agit d’un répertoire qui contient un certain nombre de fichiers.

image image

Mais cette solution n’est pas très aisée et le client de synchronisation ne reproduit pas cette arborescence, au contraire, il place un “Internet Shortcut” qui permet d’ouvrir le BlocNote dans OneNote Online ou OneNote s’il est installé sur le poste.

image

Attention:
Lorsque le client OneDrive for Business (Office 2016 - Groove) est installé et configuré, le mode explorateur ouvrira le répertoire local de synchronisation et non le WebDav.

Pour sauvegarder son bloc notes en ligne, il existe donc deux possibilités:

  • Copier les fichier en Explorateur Windows
  • Exporter son bloc note avec un fichier ONEPKG


Sauvegarder les fichiers en Explorateur Windows

Il faut donc utiliser le Mode Windows Explorer, puis entrer le répertoire (ayant le nom de son bloc note) pour trouver les fichiers de notes “xxxx.ONE” et “yyyy.onetoc2”

image

Il suffit donc de copier tout le répertoire dans un répertoire local pour effectuer la sauvegarde de vos notes et donc des fichiers “xxx.ONE” et “yyyy.onetoc2”

image image

Pour ouvrir le bloc note, il faut double cliquer sur le fichier “yyyy.onetoc2

image

Et vous pouvez vérifier le point de stockage de ce bloc note:

image image

C’est donc une solution faisable si votre explorateur Windows ouvre bien le WebDAV et non le répertoire de stockage du client Sync.


Exporter son Bloc Notes depui OneNote

OneNote permet une option utile pour ce type de contexte:

  • Comment créer une sauvegarde de mon bloc note que je puisse stocker quelque part en cas de besoin ?

Pour répondre à cette question, il suffit de cliquer, dans le client riche, sur “File” et choisir “Export”, puis de sélectionner “Notebook” et le format “OneNote Package (*.onepkg)” et enfin cliquer sur le bouton  “Export”

image

On fournit simplement un nom au fichier de sauvegarde, définit le répertoire de sauvegarde et on clique sur “Save”

image

Le client OneNote lance la tache d’export, et on trouve le fichier dans le répertoire voulu.

image image


Ouverture du fichier xxx.onepkg

L’ouverture du fichier se fait aussi avec le client riche OneNote, qui propose alors de fournir les informations de base et le point de stockage de ce bloc note

image

Pour enfin avoir son bloc note tout frais.


Conclusion

Cette solution est aussi utilisable pour sauvegarder ses notes du Cloud vers un disque local ou vers une clé USB.

Romelard Fabrice [MBA Risk Management]

Office 365: Comment ouvrir son OneDrive for Business en Explorateur Windows

OneDrive for Business est l’évolution des anciens sites SharePoint “MySite”, avec un outil de synchronisation en plus:


OneDrive for Business New experience

La nouvelle version de l’interface graphique est forcée par l’administrateur SharePoint du tenant par l’option “OneDrive for Business experience” associée avec celle “Functionality of the Sync button” (expliquée dans un précédent post):

image

Une fois cette option activée pour le tenant, tous les utilisateurs bénéficie du nouveau design, et notamment perde le système du ruban.

image

Ceci est un peu déconcertant pour ceux qui veulent retrouver les options SharePoint classiques (Check in/check out, suppression massive, …).


Retrouver l’ancienne interface au besoin

Un petit lien discret au bas à gauche de la page Web permet de réactiver dans la session courante l’ancienne interface”Return to classic OneDrive” :

image

On retrouve alors le ruban classique de gestion SharePoint avec toutes les options standards

image

Dont le fameux “Open with Explorer”

image

Cela vous permettra d’avoir la fenêtre de Windows Explorer pour faire une copie massive par exemple, ou un chargement de nombreux répertoires en une fois.

image


Conclusion

Comme toujours, il n’y a aucune garantie que Microsoft conserve cette option, car elle va à l’encontre de la stratégie minimaliste du Site OneDrive et surtout de la poussée massive pour le client Windows de Synchronisation.

Source: How to use the "Open with Explorer" command to troubleshoot issues in SharePoint Online

Romelard Fabrice [MBA Risk Management]

Plus de Messages Page suivante »


Les 10 derniers blogs postés

- Server Essentials 2016 et site remote web access indisponible par Blog de Jérémy Jeanson le 12-09-2016, 13:10

- Office 365: Utiliser les alertes dans SharePoint Online par Blog Technique de Romelard Fabrice le 11-30-2016, 12:45

- Windows: Comment comparer les outils de copie de fichiers disponibles en mode console avec un script PowerShell par Blog Technique de Romelard Fabrice le 11-18-2016, 11:17

- TFS 2017 est disponible ! par Blog de Jérémy Jeanson le 11-17-2016, 08:04

- Office 365: Configurer l’ouverture des fichiers dans Office Web Apps pour une Librarie Documentaire par Blog Technique de Romelard Fabrice le 11-15-2016, 17:14

- Office 365: Comment gérer les Access Requests dans les sites SharePoint Online par Blog Technique de Romelard Fabrice le 11-10-2016, 15:11

- Windows 2008 R2: Réduire la taille du répertoire system volume information par Blog Technique de Romelard Fabrice le 11-07-2016, 10:01

- UWP et langues indisponibles ? par Blog de Jérémy Jeanson le 11-04-2016, 12:54

- Impossible de se connecter à Windows Server Essentials 2016 par Blog de Jérémy Jeanson le 10-29-2016, 09:55

- Changer la langue d’un Windws Server Core 2016 par Blog de Jérémy Jeanson le 10-27-2016, 17:51