Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Customiser ses pages ADFS / Ajout du suffixe UPN automatique dans l’identifiant

Préambule

L’ensemble des manipulations ont été réalisées sur une infrastructure Windows 2012 R2 / ADFS 3.0.

Problématique

Avec quelques connaissances en développement web (CSS et Javascript), il est possible de customiser les pages de logon ADFS. On peut positionner un logo qui remplacera le nom de la federation ou encore changer l’illustration par défaut. De plus, Microsoft offre aussi la possibilité de changer une partie du code Javascript et CSS. Nous verrons donc comment gérer ses templates ADFS puis je détaillerai un script Javascript permettant d’ajouter automatiquement le suffixe UPN de l’utilisateur. Ainsi toute personne souhaitant se connecter n’aura qu’à entrer son samAccountName. Attention, cette méthode n’est fonctionnelle que dans le cas où tous les utilisateurs possèdent le même suffixe UPN.

Gestion des templates ADFS

Microsoft fourni quelques indications pour customiser les pages ADFS sur le lien suivant :
http://technet.microsoft.com/en-us/library/dn280950.aspx . On retrouve notamment les modifications les plus basiques comme les changements d’images ou de messages (erreur, aide,…).

Aussi, dans ADFS 3.0, il est possible de gérer plusieurs templates via les Cmdlets Powershell adéquates. Le template de base se nomme « default« . On peut d’ailleurs récupérer la liste des thèmes avec la Cmdlet Get-ADFSWebTheme. On remarque qu’il s’agit bien du template de base grâce à l’attribut IsBuiltinTheme.

Les étapes de customisation d’un thème sont les suivantes :

  • création d’un nouveau thème 
  • export des fichiers du thème 
  • modification des fichiers 
  • import des fichiers modifiés dans le thème créé

Pour ajouter un nouveau thème il suffit d’utiliser la commande New-AdfsWebTheme en spécifiant le nom du thème ainsi que les sources du nouveau thème. En général, on se basera sur le thème par défaut que l’on customisera ultérieurement.

 

Il nous faut ensuite exporter les fichiers de ce thème (vers le dossier C:\ADFSTheme par exemple) :

 

Attention le dossier d’export doit exister (il ne sera pas généré automatiquement).

On remarque que l’on a accès à un certain nombre de fichiers mais pas à tous. En général, ceux que l’on voudra customiser sont le fichier onload.js et le fichier style.css.

2014-04-18 11_53_36-SRV01673 - Remote Desktop Connection Manager v2.2

Une fois modifiée, il ne reste plus qu’à importer le fichier dans le thème nommé custom. Un exemple avec le fichier onload.js :

 

Enfin pour définir le thème custom comme actif il faut utiliser la Cmdlet ci-dessous :

 

Ajout automatique du suffixe UPN

Afin de faciliter l’expérience utilisateur lors d’un usage en situation de mobilité ou via un navigateur ne supportant pas ADFS, il peut être utile d »ajouter automatiquement le suffixe UPN lorsque ce dernier a été omis dans le formulaire d’authentification. Pour les utilisateurs ne connaissant pas les notions de nom de domain Netbios ou d’UPN, cette customisation peut être interessante. Celle-ci nécessite du code Javascript.

ADFS se base sur la valeur entrée dans le champ “UserName” avec l’ID “userNameInput” du fomulaire. Il faut donc modifier cette valeur. Une autre solution (utilisée ici), consiste à changer l’ID et le nom du champ original. Puis, on ajoute un nouveau champ, invisible à l’utilisateur et contenant la bonne valeur ainsi que l’ID et le nom mentionné précédemment. Cette seconde solution est esthétiquement plus réussi (l’utilisateur ne voit pas le changement)

Ci-dessous, se trouve le script a ajouté à la fin du fichier onload.js est à intégrer dans le thème ADFS via la méthode vu précédemment :

 

Voici les opérations réalisées par le script lorsque le formulaire est valider (via la touche “Entrée” ou un clic sur le bouton de connexion) :

  • Récupération du champ contenant l’identifiant utilisateur
  • Vérification de la présence d’un suffixe UPN

Si le suffixe est manquant :

  • On renomme le champ contenant l’identifiant utilisateur (UserName) et on change son ID (userNameInput).
  • On ajoute un nouveau champ non visible portant les valeurs initiales (Id et nom). Il contiendra la valeur entrée par l’utilisateur avec le suffixe UPN. Celles-ci seront transmises à ADFS.

Une amélioration pourrait être d’ajouter une balise “select” contenant une liste de tous les suffixes UPN possibles. Cela permettrait de gérer les infrastructures utilisant de multiples suffixes UPN.

DirSync – Erreur à l’installation de DirSync sur un serveur Windows Server 2012 R2

La problématique

Lors de l’installation de Windows Azure Active Directory Synchronization (aka “DirSync”) sous Windows Server 2012 R2, l’erreur suivante peut apparaitre :

The minimum version of Windows Powershell required is 2,0.
Please install the minimum version required (or higher) and try again.

image

Cela peut sembler étrange d’autant plus que Windows Server 2012 R2 intègre nativement la version 4.0 de PowerShell.

Explication

Il semble que ce problème soit dû à la localisation du système d’exploitation. En effet sur un système d’exploitation installé en langue française, le caractère séparateur entre les entiers et les décimales est la virgule et non le point.

Or on peut remarque que le message d’erreur indique un problème pour détecter la version PowerShell 2,0 et non 2.0.

Solution

La solution consiste tout simplement à modifier les formats de date, d’heure et de nombre et à les passer sur le format anglais.

image

Il suffit ensuite de fermer, puis de relancer l’installeur de DirSync pour que la modification soit prise en compte et que PowerShell soit bien détecté.

image

N.B. : Ne pas oublier de lancer dirsync.exe avec des droits administrateur (clic droit, puis Run As Administrator), sinon une exception .net apparaît

EXCHANGE 2013 DAG

INSTALLATION DU DAG (DATA AVAIBILITY GROUP)

Tout d’abord il faut connaitre le rôle du DAG, son but est tout simplement la haute disponibilité des BASES MAIL.

petit rappel sur les bases mail, c’est une base de donnée qui contient  les boites aux lettres (BAL) des utilisateurs de messagerie exchange et dont la limite est de 2 TB.

Tout d’abord il faut renommer les bases mail pour plus de clarté prévoir une convention de nommage

1) renommer les bases de données (avec convention de nommage simple)

image

2) création d’un compte ordinateur que l’on désactive et attribue les droits

image

Full control, celui va servir pour le DAG

3) Le serveur File Server Witness (FSW01) joue le rôle de QORUM

Il doit être ajouter au groupe (Exchange Trusted Subsystem ) dans Active Directory puis le groupe Exchange Trusted Subsystem ajouter au groupe local administrator du serveur FSW01.

Le FSW doit être créé car si le cluster passe de serveur impair à pair

On n’aura toujours 1 votant supplémentaire.

Installer la fonctionnalité du serveur de fichier

image

Puis ouvrir niveau pare-feu avancé et paramétrer

image

4) créer un groupe de disponibilité,

Figure 1

image

Figure 2

image

Figure 3 : mettre une ip pour le DAG 192.168.1.10 sur le réseau MAPIDAGNetwork

image

5) parametrer le réseau dedié au DAG01, dans notre cas

Figurer 1

image

Figure 2 : décocher register this connection’s adresses in DNS.

image

Pour regarder les configuration du DAG sur EXCH01 et EXCH02 taper la commande suivante sous Exchange management shell:

image

Voici les résultats :

EXCH01

image

EXCH02

image

6) Par defaut les reseaux mapidagnetwork et ReplicationDAG Network

Se configurer en auto avec la carte reseau en prod et l’autre pour REPLICA avec aucune passerelle activé et décocher registrer this connection in DNS, il fait la différence et les bascule automatiquement.

Pour modifier manuellement les configuration du DAG sur EXCH01 et EXCH02 faire comme ci-dessous.

Figure1 : cocher configurer manuellement les réseaux.

image

Figure 2 : soit désactiver la réplication soit afficher les détail pour modifier la configuration.

image

7) Creation de la copie passive sur les 2 serveurs EXCHANGE :

– Copie des Bases mail De EXCH01 vers EXCH02 et EXCH02 vers EXCH01

image

Figure1 : voir ci-dessous

image

Figure2 : ajouter le serveur EXCH02 puis cliquer ENREGISTRER

image

Taper la commande suivante pour fixer la configuration :

Set-DatabaseAvailabilityGroup DAG01 -ManualDagNetworkConfiguration $false

Tester le réplication avec le commande let : Test-ReplicationHealth

Ou Test-ReplicationHealth | fl

Vérification de la copie de base de données avec PowerShell:

EXCH01

image

EXCH02

image

8) Test de la bascule de la base de données

Vérification de l’utilisateur créé (kouasti) sur quelle base ? :

image

Eteindre le serveur EXCH01 sur lequel la base MBX-DAG01-DB01 est actif

Cela prend quelques secondes.

9) Test de la bascule de la base de données en mode maintenance

Effectuer ses manipulations sur le serveur ou les bases sont actives

MBX-DAG01-DB01

MBX-DAG01-DB02

Aller dans C:\Program Files\Microsoft\Exchange Server\V15\Scripts puis

Taper :

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>.\StartDagServerMaintenance.ps1 -servername exch02

image

 

RESULTAT

Sur Exch01 faire get-mailboxdatabasecopystatus

image

Sur Exch02 faire get-mailboxdatabasecopystatus

image

POUR REMETTRE EN PLACE il faut stopper la maintenance:

.\StopDagServerMaintenance.ps1 -servername exch02

 

J’espère que le blog vous a éclairé sur la mise en plce sdu DAG exchange 2013