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

SharePoint 2013: Préparation de la migration - Création des site Templates dans 2010 et 2013

Dans le cas de la migration d’une ferme SharePoint 2007 vers 2013, nous avons vu que le processus implique le passage par une ferme SharePoint 2010.

Il existe de nombreux cas où les administrateurs ont développé (ou fait développer) des modèles de site sous SharePoint 2007. Ce fut d’ailleurs un des arguments massues de Microsoft à l’époque, car c’était plutôt simple à faire. Pour rappel, les articles suivant (ce qui ne nous rajeunit pas):

Quoi qu’il en soit, si c’est la seule partie qui est nécessaire pour votre migration, il est certainement plus rapide de recréer ces modèles de sites en repartant de celui qui a été fait sous 2007 et recréant le même tout d’abord sous 2010, puis 2013.

Je vous invite pour cela à regarder cet ancien article pour 2007 qui est totalement adaptable pour 2010 (répertoire 14) ou même 2013 (répertoire 15):

La question se pose pour générer le fichier WSP qui pourra alors être chargé dans SharePoint 2010 ou 2013.


Création du WSP pour SharePoint 2010

Pour cette partie, j’ai utilisé l’évolution de WSPBuilder qui est resté en Beta, mais qui fonctionne correctement pour un cadre simple tel que celui-ci:

Une fois le MSI téléchargé et installé, on trouve les fichiers WSPBuilder sous le répertoire:

  • C:\Program Files (x86)\WSPTools\WSPBuilderExtensions\

Il est préférable de copier ces fichier dans un répertoire de travail que nous utiliserons pour la suite (C:\TOOLS\WSPBuilder\WSPBuilder2010\). Dans ce même répertoire, on crée un sous-répertoire 14, dans lequel on va reproduire toute l’arborescense de SharePoint avec les différents fichiers de notre modèle:

image

Une fois cette organisation créée, on peut simplement double-cliquer sur le fichier WSPBuilder.exe ou créer un fichier CMD tel que le suivant :

WSPBuilder.exe -WSPName MY_TEMPLATE_2010.WSP
stsadm -o retractsolution -name MY_TEMPLATE_2010.WSP -immediate
PING 1.1.1.1 -n 1 -w 90000 >NUL
stsadm -o deletesolution -name MY_TEMPLATE_2010.WSP
stsadm -o addsolution -filename MY_TEMPLATE_2010.WSP
stsadm -o deploysolution -name MY_TEMPLATE_2010.WSP -immediate -allowgacdeployment

Au passage, la ligne du Ping permet de laisser le temps au SPTimer de désinstaller la solution si elle existait déjà (Cf. l’astuce en ligne: How to insert delays in your batch files).

Une fois le tout exécuté, votre solution est générée proprement, déjà déployée et utilisable pour votre migration, ou même vos nouveaux sites.

Qu’en est-il pour SharePoint 2013 ?


Création du WSP pour SharePoint 2013

WSPBuilder n’existe pas pour SharePoint 2013 et n’existera probablement jamais (dernière publication sur le projet CODEPLEX date de Janvier 2010). En revanche, la version existante pour 2010 va pouvoir nous servir.

En effet, lors de notre compilation pour le projet 2010, nous pouvons modifier le fichier de config “WSPBuilder.exe.config” pour mettre la clé suivante à true :

  • <add key="BuildDDF" value="true"/>

Ainsi lors de la prochaine exécution pour notre modèle 2010, nous avons le détail du DDF utilisé par MAKECAB.EXE:

Une fois ce fichier “makecab.ddf”  obtenu à la racine du WSPBuilder, il nous faut encore le fichier MANIFEST.XML qui est créé à la volée et ajouté dans le WSP. Ainsi, il faut extraire le fichier MANIFEST.XML en changeant l’extension WSP vers CAB.

 image

On extrait le fichier manifest pour le mettre dans un répertoire de travail avec notre arborescence 15 et toute l’organisation de SharePoint 2013:

image

On édite le fichier makecab.DDF et manifest.xml pour modifier les chemins d’accès si nécessaire. Le fichier makcab.ddf sera semblable à celui-ci au final :

;*** MAKECAB - DDF done by Fabrice Romelard
;
.OPTION EXPLICIT     ; Generate errors on variable typos
;
.Set CabinetNameTemplate=MY_TEMPLATE_2013.WSP          ; The name of the WSP file
.set DiskDirectoryTemplate=CDROM      ; All cabinets go in a single directory
.Set CompressionType=MSZIP            ;
.Set Cabinet=on                        ;
.Set Compress=on                    ;
.Set DiskDirectory1=.                  ; Use the specified directory for the output CAB file
;
;*** Disable size limits for wsp (cab) files ;
;
.Set CabinetFileCountThreshold=0
.Set FolderFileCountThreshold=0
.Set FolderSizeThreshold=0
.Set MaxCabinetSize=0
.Set MaxDiskFileCount=0
.Set MaxDiskSize=0
;
;*** Files to zip                    ;
;
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\1033\XML\WEBTEMP_MySP.XML" "1033\XML\WEBTEMP_MySP.XML"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\sitetemplates\MySPSTS\default.aspx" "MySPSTS\default.aspx"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\sitetemplates\MySPSTS\MySP.master" "MySPSTS\MySP.master"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\sitetemplates\MySPSTS\xml\ONET.XML" "MySPSTS\xml\ONET.XML"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\IMAGES\MySP\bandeau_accueil.gif" "IMAGES\MySP\bandeau_accueil.gif"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\IMAGES\MySP\MySPSiteTemplatePrev.png" "IMAGES\MySP\MySPSiteTemplatePrev.png"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\IMAGES\MySP\MySPSiteTemplatePrev.png.old" "IMAGES\MySP\MySPSiteTemplatePrev.png.old"
"C:\TOOLS\SharePoint_Migration\MAKECAB\15\template\IMAGES\MySP\sgsfeatureicon.gif" "IMAGES\MySP\sgsfeatureicon.gif"
"C:\TOOLS\SharePoint_Migration\MAKECAB\manifest.xml" "manifest.xml"
;
;*** The end  ; Can be launched via the command: makecab /F makecab.ddf

Il ne vous reste plus qu’à recréer un fichier PowerShell similaire au précédent CMD pour 2010 tel que :

makecab /F makecab.ddf
Uninstall-SPSolution -Identity MY_TEMPLATE_2013.WSP -CompatibilityLevel All
PING 1.1.1.1 -n 1 -w 30000
Remove-SPSolution  -Identity MY_TEMPLATE_2013.WSP -Force -Confirm:$false
Add-SPSolution -LiteralPath "C:\TOOLS\SharePoint_Migration\MAKECAB\MY_TEMPLATE_2013.WSP" -Confirm:$false
Install-SPSolution -Identity SGS_MY_2013.WSP -GACDeployment -CompatibilityLevel All -Confirm:$false

Ceci une fois exécutée vous permettra d’avoir une solution propre pour votre migration (pour ce qui est des modèles de sites).

image


Conclusion

Cette logique peut aussi être utilisée pour les feature simples, les modèles de listes ou de documents, …

En revanche, si vous avez des composants utilisant du code .NET avancé, vous devrez passer par du développement et donc Visual Studio.NET deviendra l’outil de prédilection.

Romelard Fabrice [MBA]

SharePoint : Bug sur la gestion des permissions et la synchronisation Office

Nous avons vu dans un précédent message comment supprimer les accès depuis Office vers des listes SharePoint :

Tout ceci fonctionne parfaitement sauf dans un contexte particulier que je vais présenter.

Attention:
Il faut noter que ce cas a été constaté sur SharePoint 2007, mais qu’il persiste avec SharePoint 2013 (et très certainement avec 2010). Il est fort probable qu’il soit aussi présent dans SharePoint OnLine.


Définition du besoin des utilisateurs

Les utilisateurs souhaitent un cas assez simple :

  • Permettre à des utilisateurs de contribuer à une liste de type TaskList sans pour autant laisser ces mêmes “Contributeurs” la synchronisation via Outlook

La solution pour répondre à ce besoin est bien sur d’utiliser la procédure présentée dans l’article précédent :


Mise en place de la réponse à ce besoin

On édite ainsi le niveau de permissions “Edit” dans SharePoint 2013 (qui est associé avec les Membres)

image

On désactive les cases (dans le groupe Site Permissions):

  • Use Remote Interfaces
  • Use Client Integration Features

image

On enregistre alors cette configuration et on ajoute l’utilisateur souhaité dans les membres de ce site, qui est de base associé au niveau de permissions “Edit”

image

Mon compte est donc ajouté dans les membres contributeurs de ce site, sans bénéficier de la synchronisation avec Office (et Outlook)

image

En se connectant sur le site avec mon compte membre, je vois dans la liste “Mytask” créée pour l’occasion, héritant des permissions du site, que les boutons Office sont désactivés

image

Jusqu’ici, tout se passe parfaitement comme le souhaitent les utilisateurs.


Cas du bug

Toujours sur ce même site, le responsable souhaite ajouter une librairie documentaire afin de mettre à la disposition des contributeurs la documentation d’utilisation de ce site et de la liste des taches.

Cette documentation ne doit être disponible qu’en lecture pour ces utilisateurs et il est donc évident que l’héritage des permissions ne peut pas être conservé pour ces membres.

Nous allons donc dans les paramètres de la librairie des documentations (créée pour l’occasion)

image

Puis, il faut éditer les permissions de cette liste

image

Et casser l’héritage des permissions du parent (donc du site)

image

On choisi le groupe membre et on clique sur “Edit User Permission”

image

On change les permission de ce groupe avec uniquement le droit “Read” sur cette liste et on valide par OK

image

Maintenant, si on retourne sur le site, et la liste des taches, avec le compte utilisateur apartenant au groupe des membres

image

On voit apparaitre les boutons de synchronisation avec Office, alors que cela ne devrait pas arriver !!!


Explication du Bug

Le cas s’explique par un comportement natif de SharePoint suite à cette action de cassure d’héritage des permissions dans un niveau du site.

En effet, si on retourne dans les permissions à la racine du site pour le groupe “Membre”, on voit de base qu’il est censé avoir uniquement le niveau de permission “Edit”

image

Mais dans le détails, un second niveau de permissions apparaît alors “Limited Access”

image

Ce niveau de permission n’est pas supprimable, même si on annule la cassure d’héritage, il reste présent, comme dans la capture ci dessous

image

En allant dans les détails des niveaux de permissions, on retrouve ce niveau “Limited Access”

image

Et le détail des permissions associées à ce niveau nous montre qu’il est autorisé pour la synchronisation avec Office

image

L’interface graphique ne permet pas de changer ces options !!!

On trouve d’ailleurs les détails des permissions associées à ce niveau site le site Microsoft :

image


Work Around pour annuler cette effet

Il faut savoir qu’il n’y a pas de patch pour ce cas qui a aussi été constaté dans un autre contexte (les sites Web Publics basés sur SharePoint):

Cela ne nous aide pas dans notre contexte, car nous sommes uniquement sous SharePoint Foundation. Il n’est pas possible de supprimer le niveau de permission “Limited Access” en utilisant le code PowerShell disponible ici :

$web = Get-SPWeb -Identity http://MySharePointWebApp/sites/PermissionMgt $PermissionLevel=$web.RoleDefinitions $PermissionLevel.Delete("Limited Access")

Le retour d’erreur de cette commande est le suivant :

  • You cannot remove the Limited Access or Full Control permission levels

La solution est donc d’utiliser PowerShell pour modifier les permissions associées avec ce niveau et supprimer la synchronisation Office. Le code est le suivant :

function Change-Permission-Level([string]$SiteURL, [string]$PermissionName)
{
    $web = Get-SPWeb -Identity $SiteURL
    $PermissionLevels=$web.RoleDefinitions
    foreach($MyPermission in $PermissionLevels)
    {
        Write-Host " -------------------------------"
        Write-Host "Permission Name:", $MyPermission.Name
        Write-Host "  -> Permission Description:", $MyPermission.Description
        Write-Host "  -> Permission Hidden:", $MyPermission.Hidden
        Write-Host "  -> Permission BasePermissions:", $MyPermission.BasePermissions
        Write-Host " -------------------------------"

        if($MyPermission.Name -eq $PermissionName)
        {
            $MyPermission.BasePermissions = "ViewFormPages, Open, BrowseUserInfo"
            $MyPermission.Update()
            Write-Host "  -> Permission Changed remove Office Integration !!!"
        }
        Write-Host " -------------------------------"
    }

    $web.dispose()
}

Change-Permission-Level “http://MySharePointWebApp/sites/PermissionMgt” "Limited Access"

Une fois la commande exécutée, on peut retourner dans le site avec le compte membre et constater que les options Office ont disparu

image

Cette action semble changer les permissions du niveau “Limited Access” pour de bon et la synchronisation ne revient plus.


Conclusion

Ce bug a été constaté par des utilisateurs et expliquée avec le Support Microsoft, notamment Ovidiu Stefanescu que je remercie pour son aide.

Le Work Around est fonctionnel et il y a peu de chance qu’un patch soit développé pour palier à ce cas spécifique, il faut aussi savoir que ce script fonctionne aussi pour SharePoint 2007 (avec une petite adaptation pour le départ).

En vous souhaitant une bonne lecture.

Romelard Fabrice [MBA]

SharePoint 2007 : La gestion des permissions pour les Workflows

En tant qu’archéologue SharePointesque, je viens de tomber sur uncas qui nous a fait perdre pas mal de temps.

En effet, SharePoint 2007 peut être utilisé pour créer des WorkFlows via SharePoint Designer 2007 [SPD]. Ces Workflows sont alors publiés directement depuis SPD dans le sous site choisi (Scope SPWeb).

image

Il est possible de gérer les permissions de l’ensemble de ces Workflows, afin de donner les droits à une personne spécifique, en cliquant avec le bouton droit sur “WorkFlows” et choisissant “properties”

image

On trouve alors un texte sur le bas vous proposant de gérer les permissions depuis un navigateur :

image

Ce lien n’est pas visible dans les pages d’administration et comporte le nom de la liste “WorkFlows” via son GUID tel que :

Vous trouverez alors les permissions d’origines ou celles modifiées si l’ancien administrateur avait modifié celles-ci:

image

Il ne vous reste plus qu’à adapter ces permissions à vos besoins.

Romelard Fabrice [MVP]

SharePoint : Comment supprimer les connexions discrètes entre Outlook et des listes SharePoint

Comme toute solution informatique, SharePoint ou Outlook sont des produits magiques pour les utilisateurs.

Ainsi, il arrive bien souvent qu’un utilisateur clique sur un bouton, un lien, un menu, …, sans aucune idée sur les impacts réels de cette action.

image

L’exemple classique est la connexion entre Outlook et une liste SharePoint (Calendar, Contact, Task, …) qui va être persistante sans que l’utilisateur n’ai conscience de la présence.

Ceci n’est pas particulièrement grave si l’utilisateur n’a que les droits de lecture, mais devient beaucoup plus risqué si celui-ci a bien les droits d’écriture sur la liste. En effet, lors de la synchronisation entre le client riche et la liste SharePoint, Outlook peut alors ouvrir tous les éléments de cette liste sans modifier le contenu, mais en créant une nouvelle version de chaque Item. Ainsi dans le cas d’une Task List avec des Alertes et des items attribués à différentes personnes, ce sont des centaines de messages Emails qui partent dans tous les sens.

Après analyse avec le Support de Microsoft, ce cas était in comportement non souhaité par l’utilisateur, mais normal au niveau technique.


Comment supprimer les liens existants

La question a donc été de supprimer les liens existants sur les postes utilisateurs (Outlook), et nous retrouvons le côté magique qui a distance permet difficilement de trouver rapidement la solution.

Une astuce est donc de demander aux utiliusateurs de faire trois clicks et une capture d’écran:

Click 1

image

Click 2

image

Click 3

image

Il vous suffit alors de supprimer les connexions qui ne vous intéressent pas et valider par “Close”.


Conclusion

Sans être réellement révolutionnaire, cette astuce a le mérite d’être simple pour les utilisateurs finaux qui ne seront pas effrayés par la manipulation. Dans le même temps, cela vous permettra de gagner un temps précieux

Je vous invite à regarder cet article pour bloquer cette fonctionnalité de synchronisation sur une liste ou un site donné :

Fabrice Romelard [MBA Risk Management]

Windows : Script PowerShell pour stopper une liste de serveurs dans un ordre spécifique - Idéal pour les fermes SharePoint

Tout fermier SharePoint est confronté un jour ou l’autre à cette question d’arrêt de serveur.

Il est évident que pour une infrastructure Stand Alone (1 serveur) ou Small farm (2-3 serveurs), cela se fera très simplement et ne posera pas de soucis particulier, tant que le serveur SQL est arrété en dernier.

Le cas devient plus délicat lorsqu’on commence à gérer plusieurs Large Farm (plus de 4 serveurs) dans un ou plusieurs DataCenter.

Le script suivant permet donc de stopper les machines, en utilisant la commande standard de Windows “Shutdown /s”, suivant l’ordre donné dans la liste des machines.


# Specific parameters
$ServersList = "SPWEBSERVER1", "SPWEBSERVER2", "SPWEBSERVER3", "SPEXCELSERVER1", "SPSEARCHSERVER2", "SPAPPSERVER2", "SPDBSERVER1", "SPDBSERVER2"
$Logfile = "C:\SHAREPOINT_SERVERS_STOP.log"

# Generic parameters
[int]$WaitTime = 20
[int]$Counter = 0
[DateTime]$mydate = get-date
[string]$MyCommand = ""
[string]$feedback = ""
[string]$ProcessFileToExec = "shutdown.exe"
[string]$ProcessFileParam = "/s /f /t 3 /m \\"

Function LogWrite
{
   Param ([string]$logstring)
   Add-content $Logfile -value $logstring
}

function New-Sleep    {
    [cmdletbinding()]
    param(
      [parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, Mandatory=$true, HelpMessage="No time specified")]
        [int]$s
    )
  for ($i=1; $i -lt $s; $i++) {
    [int]$TimeLeft=$s-$i
      Write-Progress -Activity "Waiting $s seconds..." -PercentComplete (100/$s*$i) -CurrentOperation "$TimeLeft seconds left ($i elapsed)" -Status "Please wait"
    Start-Sleep -s 1
    }
    Write-Progress -Completed $true -Status "Please wait"
} # end function New-Sleep

Function CreateIntroLog
{
    LogWrite "================================================="
    LogWrite "--- SCRIPT STARTED:", $mydate.ToString(), " ---"
    LogWrite "================================================="
    write-host ""
    write-host ""
    write-host ""
    write-host ""
    write-host ""
    write-host ""
    write-host ""
    write-host ""
    write-host ""
    write-host "================================================="
    write-host -ForegroundColor Green "--- SCRIPT STARTED:", $mydate.ToString(), " ---"
    write-host "================================================="
}

Function ResetDNS
{
    write-host "================================================="
    write-host "===          Flushing DNS             ==="
    ipconfig /flushdns | out-null
    write-host "===          Registering DNS          ==="
    ipconfig /registerdns | out-null
    write-host "================================================="
}

Function TestPingServer([string]$MyServer)
{
    if(Test-Connection -Cn $MyServer -BufferSize 16 -Count 1 -ea 0 -quiet)
    {
        write-host "   Connection OK to $MyServer"
        return $true
    }
    ELSE
    {
        write-host " >>> Problem connecting to $MyServer <<< "
        return $false
    }
}

function StartProcess()
{
    # Create the stopwatch
    [System.Diagnostics.Stopwatch] $sw;
    $sw = New-Object System.Diagnostics.StopWatch
    $sw.Start()
    $Counter = 0
    cls
    ResetDNS
    CreateIntroLog
    foreach($MyServer in $ServersList)
    {
        $Counter ++
        write-host " ----------------------------------------------------"
        write-host " Server to stop:", $MyServer, "- Server Number:", $Counter
        [bool]$ResultPing = TestPingServer $MyServer
        if($ResultPing)
        {
            write-host -ForegroundColor Yellow  " - STOP SERVER ", $MyServer, " - "
            $MyCommand = $($ProcessFileToExec + " " + $ProcessFileParam + $MyServer)
            write-host $MyCommand
            try
            {
                invoke-expression -command "  $MyCommand" -Verbose -OutVariable myOut
                foreach($MyLine in $myOut)
                {
                    write-host "Line", $MyLine
                }
                $feedback = [string]::join(" ", @($myOut))
                write-host " Return: ", $feedback
            }
            catch [system.exception]
            {
                $feedback = $(" [Function Shutdown caught a system exception]: " + $_.Exception.Message)
                write-host -ForegroundColor Red " Return ERROR: ", $feedback
            }
            finally
            {
                write-host -ForegroundColor Green " Wait for the next Server stop:", $WaitTime
                LogWrite " ----------------------------------------------------"
                LogWrite " Server to stop:", $MyServer, "- Server Number:", $Counter
                LogWrite " Execution Time:", $mydate
                LogWrite " Command:", $MyCommand
                LogWrite " Return:", $feedback
                LogWrite " ----------------------------------------------------"
                New-Sleep -s $WaitTime
            }
        }
        else
        {
            write-host -ForegroundColor Red "--- NO PING TO SERVER:", $MyServer, " --- "
            write-host -ForegroundColor Red "  Shutdown Impossible"
            LogWrite " ----------------------------------------------------"
            LogWrite " No Ping to server:", $MyServer, "- Server Number:", $Counter
            LogWrite " Shutdown Impossible"
            LogWrite " Execution Time:", $mydate
            LogWrite " ----------------------------------------------------"
        }
        write-host " ----------------------------------------------------"
    }
    $sw.Stop()
    # Write the compact output to the screen
    write-host " "
    write-host " "
    write-host " ------------------------------------------------------------- "
    write-host -ForegroundColor Green " ----", $Counter " Servers stopped in Time: ", $sw.Elapsed.ToString(), "----"
    write-host " ------------------------------------------------------------- "
    write-host " "
    LogWrite "================================================="
    LogWrite " ---", $Counter, " Servers stopped in Time: ", $sw.Elapsed.ToString(), "---"
    LogWrite "================================================="
}

cls
StartProcess


Une fois les deux variables de départ enrichies, il vous suffit de lancer une commande PowerShell (en mode Administrateur), avec un compte Administrateur du domaine (ou qui sera administrateur des machines à éteindre).

Romelard Fabrice [MBA Risk Mgt]

SharePoint : Attention à la configuration des fichiers de Trace (ULS)

Pour les fermiers SharePoint, le paramètre des logs est un casse tête chinois. En effet, il faut sans arrêt arbitrer entre :

  • Combien de jours de dois historiser pour revenir en cas de soucis à la date en question, sans pour autant massacrer mon volume disque pour rien ?

Cette qquestion est encore plus épineuse lorsque l’on voit les options de configuration possibles (avec un net avantage pour SP2010 et 2013 pour la compréhension de l’utilisateur) :

SharePoint 2013 : Monitoring > Configure diagnostic logging

image

SharePoint 2010 : Monitoring > Configure diagnostic logging

image

SharePoint 2007 : Operation > Diagnostic logging

image

On voit dans les deux versions 2010 et 2013, qu’il faut entrer le nombre de jours d’historisation dans le champs, sans aucune idée sur le volume que cela donnera pour l’intervalle choisie.

Dans la version 2007, la configuration semble plus fine sur ce point, mais au final le problème reste entier, car cette configuration ne conservera que XX fichiers de log par tranche de temps choisie.

Pour faire simple, dans le cas de 2007, la configuration entrée donne :

  • 100 [fichiers rotatifs] * 0.5 [Heure par fichier] = 50 [Heures de log] / 24 [Heures par jour] = environ 2 [jours de log]

Ce point est crucial, car dans le cas d’un soucis rencontré le vendredi soir, vous n’avez plus de trace le lundi matin, ce qui est génant pour le Debug à suivre. Il est préférable de choisir une valeur permettant une historisation de 7 jours glissant.

Outre la correction de cette configuration pour conserver un minimum d’une semaine de Log, ce qui donne dans le cas de notre version 2007 :

  • Number of minutes to use a log file: 60 min
  • Number of log files: 24*7 = 168

Il faut surtout compresser automatiquement le répertoire de ces logs via Windows (quelque soit la version de SharePoint).

Ceci peut se faire simplement via:

Windows, avec les propriétés avancées du répertoire

image

ou via PowerShell, avec la fonction suivante basée sur les articles disponibles à ces adresses:


Function CompressFolder ($folder)
{
    # Replace \ with \\ for WMI
    $wmiPath = $folder.Replace("\","\\")
    $wmiDirectory = Get-WmiObject -Class "Win32_Directory" -Namespace "root\cimv2" -ComputerName $env:COMPUTERNAME -Filter "Name='$wmiPath'"
    # Check if folder is already compressed
    If (!($wmiDirectory.Compressed))
    {
        Write-Host -ForegroundColor White " - Compressing $folder and subfolders..."
        $compress = $wmiDirectory.CompressEx("","True")
    }
    Else {Write-Host -ForegroundColor White " - $folder is already compressed."}
}


Ce qui donne dans le cas d’un serveur SharePoint 2013 de test un résultat comme suit :

image

Romelard Fabrice [MBA Risk Management]

MBA : Quelle formation après un MBA ?

Afin de poursuivre dans les réflexions menées depuis le départ de cette aventure :

Une fois le diplôme MBA obtenu, la question de la suite se pose pour une partie des élèves. En effet, l’énergie positive requise pour reprendre ses études ne disparait pas pour tout le monde.

Il convient alors de réfléchir à la suite possible de cette formation et je vais donc essayer de présenter quelques choix accessibles à partir de notre MBA.


PhD & DBA

Aquatint_of_a_Doctor_in_divinity_at_the_University_of_Oxford,_shown_wearing_convocation_dressLa voie royale pour le monde universitaire est le Doctorat (ou PhD en anglais), cette formation se fait directement à travers l’université ou une école agréée.

Le principe est de préparer un dossier de thèse durant plusieurs mois qui devra être présenté en fin de cursus devant un jury académique.

Il existe une version adaptée pour les Business Schools :

Ces formations sont particulières aux écoles de commerce ou grandes écoles, dont des listes sont présentes ici :

Je n’entrerai pas en détail sur ces formations, mais il faut surtout réaliser que c’est réellement un travail de recherche qui nécessite beaucoup de temps pour lire et écrire ses différents rapports tout au long des deux années (en moyenne).


Certificats professionnels

Certificat_aptitude_professionnelCette seconde possibilité dépendra alors de votre secteur d’activité. En effet, suivant le milieu professionnel dans lequel on évolue, cette question est largement connue.

Tous les acteurs du monde informatique connaissent les certifications des éditeurs de logiciels (Microsoft, Cisco, ORACLE, …).

Mais cette question est bien plus globale que ces simples reconnaissances techniques. Il existe certains métiers où le certificat est une étape quasiment obligatoire pour pratiquer. Dans certains cas, la conservation de ce certificat nécessite même des formations régulières de remise à niveau, selon des règles très précises.

C’est le cas par exemple du Certificate Internal Auditor (CIA):

Si vous envisagez d’ailleurs de vous présenter à cette certification, il peut être très utile de suivre une formation de préparation, telle que :

Il existe donc de très nombreux certificats qui peut donner une véritable valeur ajouté à votre profil professionnel.


Formations professionnelles spécifiques

travailleur_nacelleDans certaines situation, il est intéressant de regarder des formation plus pratiques, même après une formation telle que le MBA.

En effet, si à la suite de votre formation, vous envisagez de monter (ou racheter) une entreprise spécialisée dans un domaine très spécifique, une formation appliquée vous permettra de mieux comprendre les problématiques associées (exemple, le rachat d’un garage automobile sans rien connaître à la mécanique peut entrainer de grosses erreurs stratégiques).

Dans ce contexte, des organismes existent tels que :

Ou encore, certaines écoles ou associations plus spécialisées telle que :

Tout dépend surtout de votre souhait, même pour élever des chèvres dans le larzac, il existe forcément une formation de base qu’il est préférable de suivre.


Formations courtes en entreprise

formationGroupeJe ne m’ettendrai pas trop sur ce point, car ces formations sont souvent associées à l’activité professionnelle en cours, ou encore à l’entreprise. On y retrouve les grands classiques tels que :

  • Gestion de projet
  • Gestion du temps / stress
  • Travail en monde international

Ces catalogues de formations sont très souvent gérés directement par les ressources humaines de l’entreprise.

On peut aussi inclure dans ce cadre, les formations techniques pour des besoins particuliers à l’activité professionnelle comme :

  • Formation transpalette
  • Formations à des techniques spécifiques
  • Formations à des languages de programmation informatiques


Formations à distance classiques

FOADLes formations à distance classiques permettent d’obtenir un diplôme officiel, sans suivre une scolarité classique. C’est un système très connu des personnes devant voyager régulièrement et ne voulant pas perdre d’année scolaire pour leurs enfants.

L’organisme officiel pour ce type de besoin est le Centre national d'enseignement à distance (CNED), mais il existe aussi des opérateurs privés offrant ce type de prestation tel que Educatel.

Ces formations sont généralement basées sur des formats de diplômes officiels. Ainsi, le principe est de préparer le diplôme via la formation et se présenter aux examens en candidat libre.

Différents articles plus détaillés sont disponibles sur Wikipedia :


Cours en ligne ouvert et massif (ou Massive Open Online Course – MOOC)

MOOC_poster_mathplourdeLa formation en ligne a évolué fortement avec l’arrivée, au début 2000, des MOOC.

Le principe de ces formations est d’être ouvert à tous, quelque soit son origine ou son parcours. Il n’existe donc pas de filtre à entrée (diplôme, compétences, niveau, …).

Les formations sont généralements basées sur des contenus en vidéo et texte, qui sont mis en ligne sur des plateformes Web. En revanche, même si la plupart sont gratuites, il existe des MOOC payants, ou partiellement payants, mais le prix reste généralement accessible.

Vous pouvez trouver différentes listes des formations disponibles, telles que :

Ces solutions en ligne vont très certainement se structurer dans les prochains mois, car les formations proposées aboutissent à des certifications qui ne sont pas encore reconnues. En revanche, la communication de plus en plus importante autour de ces solutions les placent dans la lumière.

Le certificat, sans être un diplôme mettra en avant votre profil professionnel, car il montrera que vous avez cherché à vous former par vous même, ce qui est toujours un plus.


Conclusion

Sans être trop exhaustif, cette liste évoque un ensemble de pistes qu’il faut ensuite adapter à ses besoins, à son temps disponible et à sa motivation. Le critère premier sera d’ailleurs cette motivation, car c’est elle qui vous permettra de tenir dans le temps.

Pour ma part, à la fin de MBA - Risk Management en Aout 2013, j’ai poursuivi par un Certificate of Advanced Studies (CAS) en Audit Interne (qui se termine en Mai 2014), tout en suivant différents MOOC, dont les suivants :

Je profite principalement des temps de transport pour suivre les vidéos des formations en question.

Romelard Fabrice [MBA Risk Management]

SharePoint 2013: La gestion des demandes d’accès utilisateur

La gestion des demandes d’accès a un peu changé dans la version 2013 de SharePoint.


Avec SharePoint 2010 ou 2007

En effet, dans les versions précédentes (2007 ou 2010), la demande d’accès se faisait uniquement par email envoyé au premier site collection administrator :

  • SharePoint 2010: Sites Settings > Site Permissions

image

On définit ensuite simplement l’adresse email du responsable

image

L’utilisateur voit alors une fenêtre demanadant à justifier cette demande

image

Une fois la demande envoyée, il lui faut attendre sans suivi de cette demande

image

Le responsible du site reçoit de son coôté un message tel que celui-ci lui avec la justification fournie

SNAGHTML4e21c461

Il ne lui reste plus qu’à cliquer sur le lien pour ajouter l’utilisateur dans les permissions du site.

  • SharePoint 2007: Sites Settings > Advanced Permissions

image

On retrouve la même logique avec l’adresse email du responsable

image

L’utilisateur poste aussi sa demande d’accès dans le site

image

Et l’administrateur reçoit exactement le même email que pour SharePoint 2010.

Le fait est que cette gestion est très dépendante d’une adresse email exclusive, qui doit être mise à jour avec les changements de responsables de sites.

Ce n’est donc clairement pas une solution utilisable en modèle SaaS, et donc un gros changement a été apporté dans SharePoint 2013.


Avec SharePoint 2013

La gestion des demandes d’accès est désormais dans un menu dédié du site d’administration, même si son activation est toujours au niveau des sites permissions (comme pour SharePoint 2010):

  • Sites Settings > Site Permissions

image

Il faut ensuite cocher son activation et entrer l’adresse email adaptée

image

Un menu supplémentaire est disponible dans l’interface d’administration

  • Site Settings > Access requests and invitations

image

Celui-ci permet à tout administrateur du site (membre des sites collection administrators), de gérer les demande d’accès en cours sans pour autant reçevoir le message électronique.

Ainsi en cliquant sur ce lien, l’administrateur voit les demandes postées et même l’historique des précédentes demandes

image

Il peut alors activer ou non ce droit en acceptant ou refusant la demande

image

Il est aussi possible d’utiliser la partie “Conversation” pour demander des informations au demandeur des permissions

image

Qui verra alors de son côté le message et répondre à la question posée

image

Une fois cette validation effectuée, l’administrateur peut accepter ou refuser cette demande de permission qui se retrouvera alors dans l’historique

image

Vision Utilisateur

Pour l’utilisateur, la premiere connection est semblable à l’écran ci-dessous (depuis un MAC)

clip_image001

Une fois que l’utilisateur a effectué cette demande l’écran fourni alors l’historique des messages échangés avec l’administrateur

image

Une fois cette permission accordée, l’utilisateur peut accéder à son site de manière classique suivant les permissions qui lui ont été accordées.

image


Conclusion

Cette fonctionnalité est vraiment très utile si vous comptez déléguer la gestion des permissions de vos sites SharePoint. Ainsi une équipe peut se charger de cette partie sans avoir nécessairement accès à une adresse Email partagée.

Romelard Fabrice [MBA]

SharePoint : Supprimer les accès depuis Office à une liste SharePoint

Une demande récurrente des utilisateurs est de ne pas permettre à un groupe de personnes le module d’édition de masse (edit in datasheet) ou la connection Outlook.

Ceci est possible sur toutes les versions de SharePoint en créant un niveau de permission spécifique :

  • SharePoint 2013: Settings > Site Settings > Site Permissions
  • SharePoint 2010: Site Actions > Site Settings > Site Permissions
  • SharePoint 2007: Site Actions > Site Settings > Advanced Permissions

Dans toutes les versions, vous trouvez alors le lien proposant “Permission Levels” :

SharePoint 2013

image

SharePoint 2010

image

SharePoint 2007

image


Création du niveau de permission dédié

Pour toutes les versions, il faut cliquer sur le bouton “Add a Permission Level” pour avoir le formulaire qui demande alors le nom & description

image

Puis les options à activer :

Permission sur les listes

image

Permissions sur les sites

image

Permissions de personnalisation

image

Tout se passe dans les permissions pour les Sites qui proposent deux options à ne pas cocher (pour SharePoint 2013 et 2010) :

  • Use Remote Interfaces  -  Use SOAP, Web DAV, the Client Object Model or SharePoint Designer interfaces to access the Web site.
  • Use Client Integration Features  -  Use features which launch client applications. Without this permission, users will have to work on documents locally and upload their changes.

Le premier correspond à l’utilisation des Web Services, de SharePoint Designer et de l’explorateur Windows.

Le second correspond aux options pour les clients riches Office (Outlook, Excel, Access, …).

Attention, SharePoint 2007 n’a pas exactement les mêmes options

  • Use Remote Interfaces  -  Use SOAP, Web DAV, or SharePoint Designer interfaces to access the Web site.
  • Use Client Integration Features  -  Use features which launch client applications. Without this permission, users will have to work on documents locally and upload their changes.


Utilisation du niveau de permission

Une fois ce niveau créé, il suffit alors d’aujouter ce niveau de permission à un groupe SharePoint (qui regroupera les utilisateurs souhaités).

image

Ces utilisateurs ne verront alors plus les options associées à ces clients riches.


Vision par les utilisateurs

Ainsi, lors d’un accès par un utilisateur qui se trouve dans ce groupe, les options liées à Office sont invisbles.

Si on regarde l’exemple ci-dessous pour liste de type tasklist (qui utilise Outlook, Excel, Project ou Access)

SharePoint 2013 (les boutons sont présents, mais grisés)

Avec Permissions Office Sans permissions Office
image image

SharePoint 2010 (les boutons sont grisés)

Avec Permissions Office

Sans permissions Office

image image

SharePoint 2007 (les menus ne sont pas proposés)

Avec Permissions Office

Sans permissions Office

image image


Conclusion

Ces options de sécurisation du contenu sont intéressante pour éviter les éditions massives de contenu dans les listes, en revanche, cela ne permet pas d’interdir le téléchargement du contenu par l’utilisateur. Il faudra passer par d’autres outils.

Malgré tout de nombreux gestionnaires de sites sont demandeurs de ce type d’astuce.


Liens annexes

Romelard Fabrice [MBA]

SharePoint: Comment chercher les gros fichiers d’une web application avec SharePoint 2007 et 2010

Tous les administrateurs de ferme ont le même soucis d’utilisation abusive des ressources disponibles.

Ainsi, il est régulier que les utilisateurs remontent des fichiers (image par exemple) ayant des résolutions allucinantes pour les présenter en vignette. Le fait est que ces fichiers prennent une place importante et peut entrainer d’autres soucis comme pour la saturation des quotas.

Je propose donc le script PowerShell suivant (qui fonctionne avec SharePoint 2007 et 2010)

[bool]$Verbose = $false

function Get-SPSite-Usage-Information([object]$TheSite)
{
    write-host "----------------------------------------------------- "
    write-host " Site Usage: ", $TheSite.Url
    $UsageInfo = $TheSite.Usage;

    [int]$MyDiscussionStorage = $UsageInfo.DiscussionStorage/(1024*1024)
    [int]$MyStorage = $UsageInfo.Storage/(1024*1024)
    [int]$MyBandwidth = $UsageInfo.Bandwidth/(1024*1024)
    write-host "   >>> Site DiscussionStorage: ", $MyDiscussionStorage, "MB"
    write-host "   >>> Site Storage: ", $MyStorage, "MB"
    write-host "   >>> Site Bandwidth: ", $MyBandwidth, "MB"
    write-host "   >>> Site Hits: ", $UsageInfo.Hits
    write-host "   >>> Site Visits: ", $UsageInfo.Visits

    write-host "----------------------------------------------------- "
}

function Get-SPSite-StoreManagement-Details([object]$TheSite, [string]$FileExtension, [double]$ExceededSize)
{
    [double]$MyFileSize = 0
    [string]$myFileName
    [string]$myFileCompleteURL
    [string]$MyFilterOption = "LeafName Like '%."+ $FileExtension +"' AND TotalSize > "+ [string]($ExceededSize*1024*1024)
    [string]$MySortOption = "TotalSize DESC"
    [System.Data.DataTable]$MyResultSetFiltered
    Write-Host "SiteURL", $TheSite.Url

# ltVar: What kind of storage management information to display
# List = 1
# DocumentLibrary = 2
# Document = 3
# sordVar: the direction in which the items are to be sorted
# Increasing = 0×10
# Decreasing = 0×11
# soVar: whether the items are sorted by size or by date
# Size=0
# Date = 1
# nMaxResults: the number of results to return

    $MyInformationType = [Microsoft.SharePoint.SPSite+StorageManagementInformationType]::Document
    $MysortOrder = [Microsoft.SharePoint.SPSite+StorageManagementSortOrder]::Decreasing
    $MySortOn = [Microsoft.SharePoint.SPSite+StorageManagementSortedOn]::Size
    [int]$MaxItems = 999999

    $SiteURLRoot = $TheSite.url.split("/")
   
    [System.Data.DataTable]$MyResultSet = $TheSite.StorageManagementInformation($MyInformationType, $MysortOrder, $MySortOn, $MaxItems)

    Write-Host "MyResultSet Count: ", $MyResultSet.Rows.Count
    $MyResultSetFiltered = $MyResultSet.Select($MyFilterOption, $MySortOption)
    Write-Host "MyResultSetFiltered Count: ", $MyResultSetFiltered.Count

    Write-Host " ----------------- "
    foreach($myRow in $MyResultSetFiltered)
    {
        if($verbose)
        {
            foreach($MyColumn in $MyResultSet.Columns)
            {
                Write-Host "      ->Column:", $MyColumn, " - Value:", $myRow[$MyColumn]
            }
        }

        $myFileName = [string]$myRow['LeafName']
        $MyFileSize = [int]$myRow['TotalSize']/(1024*1024)
        $myFileCompleteURL = $SiteURLRoot[0] + "//" + $SiteURLRoot[2] + "/" + [string]$myRow['Directory'] + "/" + $myFileName

        Write-Host " FileName:", $myFileName
        Write-Host " FileSize[MB]:", $MyFileSize
        Write-Host " File URL:", $myFileCompleteURL
        Write-Host " ----------------- "
    }    
    $MyResultSet.Dispose()
}

function Get-All-SPSite-StoreManagement([string]$WebAppURL, [string]$FileExtension, [double]$ExceededSize)
{
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null

    $Thesite = new-object Microsoft.SharePoint.SPSite($WebAppURL)
    Write-Host "WebApp Root URL", $Thesite.Url
    $oApp = $Thesite.WebApplication
   
    foreach ($MySite in $oApp.Sites)
    {
        #Write-Host "  Site URL", $MySite.Url
        Get-SPSite-Usage-Information $MySite
        Get-SPSite-StoreManagement-Details $MySite $FileExtension $ExceededSize
    }
    $Thesite.Dispose()
}

function StartProcess()
{
    # Create the stopwatch
    [System.Diagnostics.Stopwatch] $sw;
    $sw = New-Object System.Diagnostics.StopWatch
    $sw.Start()
    cls

    Get-All-SPSite-StoreManagement “http://mywebApplication” "jpg" 1 #Adapt the size Value as you need – 1MB and the extension you need to control
    $sw.Stop()
    # Write the compact output to the screen
    write-host "Time: ", $sw.Elapsed.ToString()
}

StartProcess

Il faudra adapter la requête avec l’extension voulue et la taille minimal à traquer. Ce script vous donnera alors un résultat tel que le suivant :

image

Vous y trouverez un résumé de l’utilisation du site (racine ou sous-site), et la liste des fichiers ayant l’extension recherchée (JPG) et dépassant la taille limite (1 MB).


Attention

Ce script ne fonctionne pas sous SharePoint 2013, car la méthode a été désactivée par Microsoft:

En revanche, l’utilisation pour SharePoint 2010 et 2007 est totalement fonctionnelle.


Liens annexes

Un ensemble de pages qui proposent des informations sur les méthodes utilisées :

Romelard Fabrice [MBA]

SharePoint 2007: Script PowerShell pour reconfigurer le Search de WSS V3

Nous avons vu dans un précédent message comment tester rapidement le bon fonctionnement du moteur de recherche de SharePoint WSS V3 :

Mais que faire lorsque le moteur est vraiment en vrac ?

La première solution est de tout reconfigurer à la main. Mais dans certaines situations, cette solution ne fonctionne pas plus, car il reste des traces de l’ancienne configuration problématique.

La solution ultime est basée sur le composant “PSCONFIG.EXE” avec les lignes ci-dessous :

  • psconfig.exe -cmd services –install
  • psconfig.exe -cmd services -provision

Associé avec le message précédent :

Cela peut donner le script PowerShell suivant qu’il vous suffit d’adapter avec le GUID et la liste des bases de données de votre ferme WSS V3 en question:


[string]$GUIDKey = "ceb90bb2-046a-4dd0-a76d-057dfcd29700" # Enter the dedicated value from your SP Farm

[string]$RegeditPathkey = "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Applications\"+ $GUIDKey +"\Gather\Search\Extensions\ExtensionList"

[string]$IndexFilePathToClean = "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Data\Applications\"+ $GUIDKey +"\Projects\Search\Indexer\CiFiles\*"

# ---------------------------------------------------------
# Delete the Search Config, on each Host :
stsadm -o spsearch -action stop -f

# Show the Proxy settings of the server
netsh winhttp show proxy
# Force the Proxy Reset on each Web Server
netsh winhttp reset proxy

# ---------------------------------------------------------
# Force the refresh of the Farm Configuratrion
psconfig.exe -cmd services -install
psconfig.exe -cmd services -provision

# ---------------------------------------------------------
# Add the Regedit Key
# Create a key with the value:
New-ItemProperty -path $RegeditPathkey -name "39" -Type String -value "pdf" #Check The GUID of The Search

# ---------------------------------------------------------
# Add the Content DBs in the Search Solution
# Web Application:  Web Application 1
stsadm -o spsearch -action attachcontentdatabase -databasename MyWebApplication1DB1
stsadm -o spsearch -action attachcontentdatabase -databasename MyWebApplication1DB2

# Web Application:  Web Application 2
stsadm -o spsearch -action attachcontentdatabase -databasename MyWebApplication2DB1
stsadm -o spsearch -action attachcontentdatabase -databasename MyWebApplication2DB2

# ---------------------------------------------------------
# Force the Full Crawl
net stop SPTimerV3
net stop SPSearch

Remove-Item -recurse $IndexFilePathToClean #Check The GUID of The Search

net start SPTimerV3
net start SPSearch

stsadm -o spsearch -action fullcrawlstart


Une fois cette commande exécutée, il faut paramétrer la base de données du moteur SQL pour lui appliquer la bonne valeur de croissance des fichiers (MDF et LDF) et le recouvrement simple.


Il faut aussi noter qu’il est possible d’utiliser la commande STSADM pour recréer toute la configuration de ce moteur, sous le format suivant
  • stsadm -o spsearch -action start –farmserviceaccount DOMAIN\FarmServiceLogin-farmservicepassword PasswordAssociated -farmcontentaccessaccount EAME\svc_CrawlAccessaccount -farmcontentaccesspassword PasswordAssociated –databaseserver SQLServerOfTheFarm -databasename WSS_Search_DataBase


Ce script est désormais utilisé dans mes fermes de production en cas de soucis de ce moteur signalé par les utilisateurs.

Romelard Fabrice [MBA]

TechDays Paris 2014: NSA, Prism - Que faire de l’inquiétude sur la sécurité dans le Cloud ?

logo_mstechdays

Speakers: Bernard Ourghanlian et Marc Mossé,

Cette session est la suite de celle de l’an dernier sur “Qui a peur du grand mechant Cloud ?”. Elle débute par la présentation dans les grandes lignes des catégories de services disponibles dans les offres Cloud

WP_20140213_060

Un rappel a été fait sur les règles de base pour le passage de service en Cloud:

  • Respect de normes
  • Evaluation de la confidentialité des données placées dans ce cloud
  • Analyse de risques

La session passe alors sur les questions de Data Privacy rappelées par Marc Mossé.

WP_20140213_061

Il rappelle que les accords entre l’état américain et l’entreprise n’ont été activé que dans de très rares cas, ainsi les DataCenters situés en Europe (Dublin et Amsterdam) implique l’application du droit Européen et non américain.

Le passage dans le cloud exige une relation de confiance extrèmement forte et Microsoft met en avant ce point en présentant clairement le respect de ces règles de fonctionnement.

La session est passée alors en mode Q&A afin de permettre à Microsoft de fournir une réponse à certaines questions sensibles (qui est propriétaire de données stockées dans le cloud, …).

Fabrice Romelard [MBA]

TechDays Paris 2014: Malware impossible 6 : the ghost protocol

logo_mstechdays_thumb

Speakers: Pascal Sauliere, Stanislas Quastana, Arnaud Lheureux et Cyril Voisin

WP_20140213_015

La session débute par un retour sur les rapports SIR (Attaques, sesnsibilités, …)

WP_20140213_017 WP_20140213_018
WP_20140213_019 WP_20140213_020

Attention aux faux Antivirus

WP_20140213_021 WP_20140213_022

Pause GOODIES

WP_20140213_023

Exemples d’attaque (TARGET, DAB, …)

WP_20140213_025 WP_20140213_028
WP_20140213_029 WP_20140213_030

Techniques d’attaque (Clé USB, …)

WP_20140213_031 WP_20140213_033

Les techniques d’hameçonnage

WP_20140213_034 WP_20140213_035

WP_20140213_036

Démonstration – M.I.N.O.U.X.

WP_20140213_037 WP_20140213_038
WP_20140213_040 WP_20140213_041
WP_20140213_042 WP_20140213_043

WP_20140213_044

Ransomware

WP_20140213_045 WP_20140213_046

Argent et Vulnérabilités

WP_20140213_047 WP_20140213_048

WP_20140213_049

Microsoft CyberCrime Center

WP_20140213_050 WP_20140213_052
WP_20140213_053 WP_20140213_055
WP_20140213_056 WP_20140213_057

Session très sympa comme toujours

Fabrice Romelard [MBA]

Technorati Tags: ,,,
TechDays Paris 2014: Virtualisation? Convergence? Cloud? Soyons pragmatique

logo_mstechdays

Speakers: Eric Velfre et Nicolas Vallon

WP_20140213_003

Après une présentation rapide de la situation de DELL ces derniers mois (rachat d’actions, sortie du Nasdak, …), la session rappelle les évolutions des demandes IT par les clients (raccourcissement des temps de changement, consumérisation dans les entreprises, BYOD, achat de ressources IT externes directement par les business, …)

WP_20140213_004 WP_20140213_005

Le département IT est de plus en plus orienté service afin de devenir Fournisseur de services internes.

L’évolution logicielle pousse des évolutions de matériel:

  • Stockage dynamique directement dans les Serveurs pour proposer des applications InMemory
  • Stockage et serveur intégrés au réseau pour les solutions cloud

WP_20140213_006

DELL propose une intégration globale et modulaire dans les DataCenters

WP_20140213_007 WP_20140213_008
WP_20140213_009 WP_20140213_010

La session est ensuite passée à un retour d’expérience d’un des clients de DELL, Grant Thornton (entreprise d’audit et conseils en finance)

WP_20140213_011 WP_20140213_012
WP_20140213_013 WP_20140213_014

La session fut très orientée vers la publicité pour le constructeur DELL.

Fabrice Romelard [MBA]

TechDays Paris 2014: L’entreprise à l’heure numérique quelle place pour le métier des DSI ?

logo_mstechdays

Speakers: Bernard Ourghanlian, Carlos Goncalves et Patrice Trousset

WP_20140213_002

Cette session est dédiée aux retours d’expérience de Microsoft IT, Société Générale, …, concernant les mutations en interne avec les nouvelles méthodes de travail.

Que ce soit les mises en place de Cloud, les développement SCRUM ou AGILE, les solutions de Big Data, …

Les IT et managers deviennent de plus en plus des IntraPreneurs pour les projets à mener avec les lignes de business ou fonction. Il convient donc de cadrer le mode de fonctionnement et les architectures tout en coachant les équipes.

Les talents sont rares pour le département IT, et chaque entreprise doit proposer de nouvelles carrières au candidats. Chaque entreprise pousse ses équipes à laisser la production qui passe en SaaS vers du consulting interne.

L’époque des IT Tech dans la cave est révolue et les DSI doivent pousser les acteurs de leur département vers des hommes ou femmes capable de donner de la valeur ajouter à l’entreprise en aider les lignes de business à gagner de nouveaux challenges.

Fabrice Romelard [MBA]

Technorati Tags: ,,,,
TechDays Pairs 2014: Session Plénière 3 - Objets connectés, avez-vous donc une ame ?

logo_mstechdays

Speakers: Bernard Ourghanlian, Frédéric Dittmar, Rafi Haladjian, Yves Ubelmann, Henri Seydoux

Cette session est le rappel de l’évolution technologique permettant de passer du :

  • Passage de things to everythings

Le Cloud, la mobilité, la réduction de taille, l’augmentation de la puissance et la capacité d’analyse via le Big Data permettent d’ajouter de la valeur à de plus en plus de scénarii de vie, par exemple :

  • La table IKEA WiFi devenant télécommande tactile
  • Fenêtre connectée  (affichage météo fournie par le Cloud et composant Netatmo, pilotage gestuel, …)

La seconde question essentielle est la réduction d’énergie imposée par notre évolution et qui ne peut être effectué que via les technologies et les interconnexions (Ex. IssyGrid)

Les villes sont de plus en plus grandes et rassemblent de plus en plus de monde avec tous les effets secondaires associés (ex. la densification, …). Les bouchons et la pollution sont une opportunité pour les objets connectés, tels que Bolloré et la voiture électrique en autopartage.

Les campagnes ne sont pas en reste, car elles fournissent les matières premières alimentaires pour l’ensemble de habitants. Les besoins sont croissants et la seule solution est d’augmenter le rendement de ces terres. Une des solution est d’ajouter l’intelligence à cette question telle que Parrot et les plantes connectées (Flower Power). Parrot en a profité pour présenter ses nouveaux drones grand publics (mini-drone de poche) ou professionnel (drone de cartographie 3D). Le leitmotiv de Parrot est d’ailleurs :

  • Les objets connectés permettent de “foutre du Software partout !”

La question militaire est alors aussi évoquée pour la préservation du patrimoine de l’humanité en Afghanistan à l’aide de drone de cartographie 3D pour créer une version numérique du site archéologique. Mais aussi la reconstruction de la ville de Pompei avec les données archéologique obtenues depuis des années, cela permet aussi de donner une visualisation de la destruction du site au cours du temps.

L’évolution de la démographie pousse la population mondiale à vieillir, surtout en Europe qui va doubler le nombre de personnes de plus de 65 ans en 2030, avec des soucis de dépendance de plus en plus présent. Cela entraine le développement de la mèdecine participative pour inclure le malade dans son suivi, mais aussi les personnes saines dans leurs activités sportives (par ex. MyGeoNaute.com d’Oxylane, filiale de Decathlon).

Un homage a aussi été fait pour le Nabaztag avec son créateur Rafi Aladjan (Sen.se), qui lance sa mother et les cookies. La révolution n’est pas liée aux objets uniquement, mais bien sur les usages. La question est rapidement posée de la gestion des données personnelle.

La miniaturisation des composants permettent aussi de créer des caméras médicales pouvant être ingérées et pilotées dans le corps.

  • Qu’en est-il au niveau des cellules ? Certainement possible dans quelques années avec le Big Data

Ce fut une vision intéressante de l’avenir qui se profile et de l’intégration de ces objets dans notre vie courante.

Fabrice Romelard [MBA]

TechDays Paris 2014: Geek is in da House

logo_mstechdays_thumb_thumb_thumb

WP_20140212_135

Speakers: Arnaud Lheureux (pour l’intro house), David Catuhe, Laurent Ellerbach, Sebastien Warin et Stanislas Quastana

WP_20140212_136

La session a débuté par une vidéo d’un grand malade présentant la réalisation d’un virtual flipper

WP_20140212_133


Impression ses propres pièces LEGO

La première partie fut la suite de l’année dernière avec la vie des LEGO chez Laurent

WP_20140212_139

Ceci avec une ou plusieurs imprimantes 3D

WP_20140212_143 WP_20140212_142

Le tout en respectant le process simple

WP_20140212_144

Le tout pour créer des pièces de différentes tailles

WP_20140212_151 WP_20140212_152

Ou encore des pièces plus pointues, comme un support de fixation de GOPRO pour le robot LEGO

WP_20140212_154


Domotique Selon GeekInDaHouse : .dom et R2C2

Après un rappel de l’expérience en 2013, cette année David et Stanislas s’occupe de la maison

WP_20140212_164 WP_20140212_165

Basé sur le protocole ZWave et des composants associés

WP_20140212_173 WP_20140212_174

Le choix s’est porté sur une box dédiée

WP_20140212_178 WP_20140212_179

Qu’il faut alors piloter tout en restant WAF

WP_20140212_183

En passant par une application sur Windows Phone qui soit WAF développé pour l’occasion .dom

WP_20140212_187 WP_20140212_189

Il faut maintenant trouver le cas d’usage évident

WP_20140212_190 WP_20140212_191

Le R2C2 (testé en direct pour nourir le chat dans le noir)

WP_20140212_193 WP_20140212_195
WP_20140212_196 WP_20140212_201


Domotique WAF ultime : The MIRROR

WP_20140212_204

L’exemple suivant est présentée par Sébastien Warin dont voici l’équipement de domotique installé chez lui

WP_20140212_206

Il faut maintenant y ajouter une interface centrale pilotant l’ensemble de manière discrète dans le hall d’entrée à travers un mirroir et une caméra Kinect

WP_20140212_208 WP_20140212_209
WP_20140212_211 WP_20140212_213

Le tout basé sur des composants simples assemblé dans un miroir IKEA

WP_20140212_225 WP_20140212_226
WP_20140212_233 WP_20140212_234


Ghost Protocol

Basé sur une expérience vécue par David

WP_20140212_240

Celui-ci a créé une solution pour vérifier la présence de fantome dans un placard

WP_20140212_243 WP_20140212_244

Une fois les composants installés, la recherche à débuté (avec une vision rapide du fonctionnement en direct)

WP_20140212_245 WP_20140212_248
WP_20140212_249 WP_20140212_250

Le résultat de cette recherche a impliqué le déménagement de David, ainsi que son voisin qui se plaignait de cette présence non solicitée. Nous ne saurons jamais si cette recherche est la source de ces déménagements.


Conclusion

Cette session a respecté ses règles de base en présentant des solutions déjantées pour des contexte futiles, mais totalement essentiels. La bonne ambiance est toujours la règle et le succès est aussi au rendez-vous, la salle pleinière fut pleine.

Fabrice Romelard [MBA]

TechDays Paris 2014: Migration vers Active Directory 2012 et 2012 R2 - Les meilleures pratiques

logo_mstechdays_thumb_thumb_thumb

Speakers: Chafia Aouissi et Nadim Bioud

WP_20140212_101

Une session dédiée à la tringlerie de la migration des contrôleurs de domaine Microsoft vers la nouvelle version 2012/2012R2

WP_20140212_102 WP_20140212_105

WP_20140212_106

Comment migrer

WP_20140212_107

Attention au bloqueurs

WP_20140212_108

  • Chiffrement DES non supporté

WP_20140212_109

  • Compression de SIDs

WP_20140212_110

Evaluations et vérifications à faire

WP_20140212_111 WP_20140212_112

Planifier et préparer la migration

WP_20140212_115 WP_20140212_116

En cas de retour arrière

WP_20140212_118

Tester la migration en implémentant d’abord une solution de test

WP_20140212_119

Démonstration d’une migration de Schéma

WP_20140212_120 WP_20140212_122

Conclusion

WP_20140212_125 WP_20140212_130

WP_20140212_131

Une session vraiment très technique pour les IT Pro qui gère la tringlerie de référence des entreprises.

Fabrice Romelard [MBA]

TechDays Paris 2014: Retours d’expériences et meilleures pratiques pour la migration vers SharePoint 2013

logo_mstechdays_thumb_thumb

Speakers: Patrick Guimonet et Benoît Jester

WP_20140212_053

Session axée sur le retour de migration pour les cas négatif autour des différents scénarii et cas possibles de migration.

WP_20140212_054

Quelle migration est possible et comment peuvent se comporter les services

WP_20140212_055

La session se basera principalement sur la migration de bases de contenu (Doc Lib, ….), mais quel est le processus à prévoir

WP_20140212_061 WP_20140212_062

Il faut ensuite définir un plan projet de cette migration (planification, préparation, migration et recette)

WP_20140212_063

Etape 1: Planifier (Cf Documentation Toolkit for SharePoint)

WP_20140212_064

Etape 2: Préparer

WP_20140212_065

Etape 3: Migrer

WP_20140212_066

Etape 4: Recetter

WP_20140212_067

Démonstration de migration de ferme MOSS 2007 > 2013

WP_20140212_068

WP_20140212_069

WP_20140212_070
WP_20140212_071 WP_20140212_072
WP_20140212_073 WP_20140212_074
WP_20140212_075 WP_20140212_076
WP_20140212_077 WP_20140212_078
WP_20140212_079 WP_20140212_080
WP_20140212_081 WP_20140212_082
WP_20140212_083 WP_20140212_084
WP_20140212_085 WP_20140212_086
WP_20140212_087 WP_20140212_088
WP_20140212_089 WP_20140212_090
WP_20140212_091 WP_20140212_092
WP_20140212_093 WP_20140212_094

WP_20140212_095

Outils externes

WP_20140212_096

WP_20140212_097
WP_20140212_098 WP_20140212_099

Conclusion

WP_20140212_100

Excellente session sur une problématique essentielle pour un grand nombre d’entreprise qui ne peuvent pas laisser l’existant de côté. Une session à revoir afin de bien cadrer son projet de migration.

Fabrice Romelard [MBA]

TechDays Paris 2014: Sécurité des partages internes et externes sous Microsoft SharePoint - REX du CEA Cadarache

logo_mstechdays_thumb

Speaker: Patrick Baldit

WP_20140212_038

Après une présentation rapide de l’organisation du CEA, des contraintes règlementaires impactant celui-ci, la session rappelle quelques généralités sur le monde SharePoint (Sécurisation, gouvernance, gestion des droits, …).

WP_20140212_039

On voit ensuite la configuration macro des infrastructures SharePoint utilisées pour l’Intranet et l’Extranet

WP_20140212_040 WP_20140212_042

Limitations (filtrage, firewall, …) de SharePoint et contrôle de la plateforme (log management, …)

WP_20140212_043

Définition du niveau de contrôle requis pour les données à stocker et gouvernance de la solution de gestion documentaire :

  • Désactivation des comptes AD lors de la désactivation du badge physique
  • Simplification de l’utilisation des librairies documentaires chiffrées
  • WorkFlow de droits d’accès
  • ….
WP_20140212_044 WP_20140212_045

WP_20140212_047

Mise en place de l’outil de sécurisation ZonePoint et fonctions de base

WP_20140212_048 WP_20140212_049
WP_20140212_049 WP_20140212_050

WP_20140212_051

Evolutions de la solution ZonePoint 2014

WP_20140212_052

En conclusion, il s’agit d’une vision intéressante d’une mise en place en mode “paranoïaque” de solution SharePoint.

Fabrice Romelard [MBA]

Plus de Messages Page suivante »


Les 10 derniers blogs postés

- Changer l’adresse d’une ferme Office Web Apps associée à SharePoint par Blog de Jérémy Jeanson le 09-01-2014, 22:21

- Une ferme #SharePoint 2013 dans @Azure en quelques clics (1ère partie) ! par Le blog de Patrick [MVP SharePoint] le 08-28-2014, 18:52

- SharePoint 2013: Préparation de la migration - Création des site Templates dans 2010 et 2013 par Blog Technique de Romelard Fabrice le 08-20-2014, 16:31

- [ #Yammer ] How to change interface language ? Comment changer la langue de l’interface ? par Le blog de Patrick [MVP SharePoint] le 08-20-2014, 14:21

- Onedrive Sync Engine Host : CPU à 100% par Le petit blog de Pierre / Pierre's little blog le 08-06-2014, 22:22

- SharePoint : Bug sur la gestion des permissions et la synchronisation Office par Blog Technique de Romelard Fabrice le 07-10-2014, 11:35

- SharePoint 2007 : La gestion des permissions pour les Workflows par Blog Technique de Romelard Fabrice le 07-08-2014, 11:27

- TypeMock: mock everything! par Fathi Bellahcene le 07-07-2014, 17:06

- Coding is like Read par Aurélien GALTIER le 07-01-2014, 15:30

- Mes vidéos autour des nouveautés VS 2013 par Fathi Bellahcene le 06-30-2014, 20:52