O365Solutions

  • [Office 365 ADFS] - Domain auto completion

    Lorsque votre domaine est fédéré avec Office 365, durant votre session d'authentification vous êtes redirigé vers vos serveurs ADFS pour vous authentifier. Vous devez alors entrer votre adresse email et mot de passe Active Directory pour pouvoir accéder à Office 365. Si votre domaine d'entreprise est long, comme par exemple education.fabrikam.com, je vous suggère de fournir à vos utilisateurs l'auto complétion de votre nom de domaine. Pour pouvoir faire cela, il vous faut modifier votre Template ADFS local.

    Source script : https://social.msdn.microsoft.com/Forums/vstudio/en-US/d0b2089f-e4be-494c-b488-21493f62bc58/adfs-2012-r2-forms-authentication-default-login-domain?forum=Geneva  

    Pour plus d'informations, sur comment personnaliser votre infrastructure ADFS, cliquez sur le lien ci-dessous :

    1. Dans un premier temps, créer un nouveau Template, en copiant celui par défaut. Vous effectuerez ensuite vos modifications sur celui-ci, pour éviter de modifier le Template par défaut d'ADFS.

     Script.ps1
    PS C:\Users\John> New-AdfsWebTheme –Name Fabrikam –SourceName default

    2. Puis, exportez le Template sur votre emplacement.

     Script.ps1
    PS C:\Users\John> Export-AdfsWebTheme –Name Fabrikam –DirectoryPath c:\theme

    3. Cherchez dans le dossier C:\theme\script\ le fichier onload.js et ajoutez à la fin du document les lignes suivantes :

     Script.ps1
    //remove domain name requirement
    function runScript(e) {
        if (e.keyCode == 13) {
            AppendUPN();
        return Login.submitLoginRequest();
        }
    }

    var AppendUPN = function () {
    var userName = document.getElementById(Login.userNameInput);
    var lowerUserName = userName.value.toLowerCase();

    //Check to see if they already included the UPN
    var li = lowerUserName.lastIndexOf('@education.fabrikam.com');
    if (li == -1)
    {
        userName.value = userName.value + '@education.fabrikam.com';
    }

    return true;
    }

    document.getElementById('submitButton').onclick = new Function('AppendUPN();return Login.submitLoginRequest();');
    document.getElementById('passwordInput').onkeypress = runScript;

    4. Pour remplacer le fichier que nous venons de modifier dans notre thème custom, à l'aide de Power Shell, exécutez la commande ci-dessous :

     Script.ps1
    PS C:\Users\John> Set-AdfsWebTheme -TargetName Fabrikam -AdditionalFileResource @{Uri=’ /adfs/portal/script/onload.js’;path="C:\Temp\script\onload.js"}

    5. Enfin, pour activer votre nouveau thème :

     Script.ps1
    PS C:\Users\John> Set-AdfsWebConfig -ActiveThemeName Fabrikam

    • 22/3/2015
  • [Office 365 Lync] - Lync devient Skype for Business

    Dans les 90 prochains jours, Office365 va passer l'expérience utilisateur Lync Online vers Skype pour les entreprises. Maintenant que Lync se joint à la famille Skype (Skype pour le client d'affaires et Skype en ligne pour les entreprises), les utilisateurs disposeront de la nouvelle interface utilisateur. C'est-à-dire qu'ils bénéficieront de la même interface utilisateur familière qu'ils utilisent avec Skype, dans leur vie personnelle, avec toutes les fonctionnalités de Lync Online.

    Pour plus d'informations, cliquer sur le lien ci-dessous : 

    Nouvelle fenêtre de contacts.

    Skype for Business Contact List

    Nouvelle expérience lors de vos meetings.

    Skype for Business meetings

    • 13/3/2015
  • [Office 365 Migration] - Erreurs

    Lors de migration vers Office 365, il est possible que vous ayez à faire à différents problèmes ou codes d'erreurs qui, selon moi, s'expliquent tout simplement par le fait qu'il existe plusieurs méthodes de migration avec chacune son lot de prérequis. J'ai donc décidé de partir un post afin de répertorier toutes les erreurs que je rencontre durant les mandats que je réalise. Chaque boîte ci-dessous fournit donc 5 éléments : 

    • La date de migration
    • Le type de migration
    • Le message erreur
    • La cause
    • La solution dans mon cas

    Date de la migration: 06 Mars 2015
    Type de Migration: Cutover Exchange 2010

    Erreur: ProvisioningFailedException : Failed to update one of the recipient properties.



    Cause: Après différents tests et un peu de recherches sur internet, il s'avère que cette erreur se produit lorsqu'une délégation "SendOnBehalfTo" est activée sur l'utilisateur, mais que l'utilisateur délégué n'existe plus dans Exchange. Pour pouvoir vérifier cela, ouvrez une console ADSI Edit et cherchez l'attribut PublicDelegates (voir ci-dessous)


    Résolution: Si vous êtes dans la même situation, supprimez simplement l'attribut, toujours à l'aide la console ADSI Edit, et relancez la synchronisation de votre batch de migration à partir d'Office 365.

    Date de la migration: 21 Octobre 2014
    Type de Migration: Staged Exchange 2003

    Erreur: ProvisioningFailedException: Method ‎'GetExchangeDiagnosticsInfoData‎' in type ‎'Microsoft.Exchange.ProvisioningAgent.AdminAuditLogHealthHandler‎' from assembly ‎'Microsoft.Exchange.ProvisioningAgent, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35‎' does not have an implementation..



    Cause: Après différents tests et vérifications de ma configuration dans l’environnement du client, il se trouve que la cause de cette erreur est le service IIS. À quel niveau je ne pourrais pas vous le dire.

    Résolution: Si vous faites face à ce cas de figure, testez votre configuration OutlookAnywhere avec l'outil test exchange connectivity. Si vous avez une erreur lors du test de connectivité Outlook et que vous est sûr de votre configuration des serveurs Exchange 2003, essayez tout simplement de redémarrer le service IIS cela a fonctionné pour moi.

    • 12/3/2015
  • [Office365 Scripts] - Assignation automatique de licence

    Pour être plus efficace, rentable et adapté à leurs besoins d'affaires, un client m'a demandé de lui réaliser un script pour automatiser l'assignation des licences utilisateurs sur Office 365. Dans un environnement collégial, où tous les utilisateurs ont les mêmes licences, il est assez simple de créer un script PowerShell (voir ci-dessous) et de le programmer avec task scheduler sur un serveur de l'entreprise.

    Ici le script va automatiquement associer une première licence Plan E1 qui inclus les options Exchange, Sharepoint et Lync. Ensuite, le script va rajouter la licence Office365Pro Plus qui permet aux élèves d'installer la suite Office sur leur ordinateur personnel. 

    Avant de pouvoir utiliser le script ci-dessous quelques prérequis:

    • Microsoft Online Service Sign-in Assistant doit être installé sur votre serveur
    • Le Module PowerShell MsOnline (32-bit ou 64-bit) doit également être installé sur le serveur
    • Vous devez utiliser un compte Global Administrateur de votre tenant Office 365
    • Enfin, n'oubliez pas de crypter votre mot de passe

     Script.ps1
    #Variables
    $StudentE1Plan = "CONTOSO:STANDARDWOFFPACK_STUDENT"
    $StudentProPlusPlan = "CONTOSO:OFFICESUBSCRIPTION_STUDENT"
    $UsageLocation = "CA"
    $AdminUsername = "Admin.Online@contoso.onmicrosoft.com"
    $AdminPassword = "01234560d08c9ddf0115d1118c7a00c04fc297eb01000000624cd458111cce43914700864c926d6c0000000002000000000003660000c000000010000000d1978bc3e6f882a365ee88cf99d218a90000000004800000a000000010000000bf53352b415bdad87713c3024126198a18000000b50d34af8581989a86e484b7ef743fd0a7b7dcc6dbbe2b2e1400000065d00a033b86dcb5d44e739882db27318e17c546"

    #Conversions
    $SecurePassword = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
    $cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $AdminUsername,$SecurePassword

    #Import MsOnline Module
    Import-Module MSOnline

    #Connect to Office365
    Connect-MSOLService -Credential $cred

    #Get Unlicenced Users on Office365
    $SudentE1Options = New-MsolLicenseOptions -AccountSkuId $StudentE1Plan
    $SudentProPlusOptions = New-MsolLicenseOptions -AccountSkuId $StudentProPlusPlan
    $UnlicencedUsers = Get-MSOLUser -UnlicensedUsersOnly -All

    #Set Location CA for CANADA and Student A2 licence for all unlicenced users
    $UnlicencedUsers | ForEach-Object {
        Set-MsolUser -UserPrincipalName $_.UserPrincipalName -UsageLocation $UsageLocation
        Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -AddLicenses $StudentE1Plan -LicenseOptions $SudentE1Options
        Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -AddLicenses $StudentProPlusPlan -LicenseOptions $StudentProPlusPlan
    }

    • 5/3/2015