PI Services

Le blog des collaborateurs de PI Services

SCOM - The RPC server is unavailable.(0x800706BA)

Le fonctionnement normal du Health Service SCOM (qu’il se trouve sur un Management server ou un agent supervisé) implique qu’il essaye régulièrement de vérifier la validité des RunAs Accounts (à chaque démarrage du service, à chaque changement de configuration, à réception d’un nouveau Management Pack etc).

Il peut arriver que cette vérification échoue, provocant alors une alerte de type The Health Service cannot verify the future validity of the RunAs account. (évènement 7016 dans le journal Operations Manager)

Cette alerte peut avoir de nombreuses origines, et le message qui l’accompagne peut normalement aider à identifier la cause.

Intéressons-nous ici plus spécifiquement à l’évènement “The RPC server is unavailable.(0x800706BA)”, observé chez un client qui dispose d’une forêt multi-domaines. Certains serveurs supervisés se trouvent dans un domaine différent de celui où se trouve le compte SCOM Action.

Ce message laisse supposer des difficultés pour joindre un contrôleur de domaine capable d’authentifier le compte.

Commençons donc par identifier quel est le DC qui est contacté, en exécutant la commande nltest /dsgetdc:corp.domaine.lan sur le serveur d’où l’erreur provient (et où corp.domaine.lan correspond au domaine qui héberge le RunAs account problématique) :

image

Le champ DC indique quel est ce contrôleur de domaine.

Il faut s’assurer qu’il est joignable sur les ports 88 (kerberos) et 389 (LDAP), et ce à la fois en passant par son FQDN et par son nom court

C’était ici la cause de notre problème : la résolution DNS ne permettait pas d’interroger ce DC via son nom court. Un simple ajout de suffixes DNS dans la configuration de la carte réseau a donc permis de corriger l’erreur.

Astuce supplémentaire : afin de forcer une revérification des credentials par le Health Service, il suffit de redémarrer ce dernier.

Desired State Configuration (Partie 5) : Création d’une ressource personnalisée

Introduction

Cet article fait partie d’une série de 5 billets sur Desired State Configuration :

Desired State Configuration est disponible comme Powershell 4.0 sur Windows 2012 R2/8.1, Windows 2012/8 et Windows 2008 R2/7.

Lors du précédent article nous avons vu l'implémentation du mode Pull via un web service.

Desired State Configuration est fourni avec un certain nombre de ressources. Malgré qu'il y en ai peu, et comme évoqué dans le précédent article, Microsoft et la communauté se sont employés à créer des nouvelles ressources. Dans cette cinquième et dernière partie, nous évoquerons la création d’une ressource personnalisée. Cette dernière permettra de prendre en charge un scénario non présent dans les ressources existantes : la présence d'un partage NFS.

Fonctionnement

Une ressource est constituée de plusieurs fichiers :

  • Un fichier .SCHEMA.MOF contenant sa définition et plus particulièrement toutes les propriétés que l'on pourra renseigner.
  • Un module Powershell contenant quelques fonctions obligatoires (.PSM1)
  • Un fichier .PSD1 représentant le manifest du module Powershell. Ce dernier contiendra les fonctions a exporter de notre module. Ce dernier est principalement utilisé pour versionner le module et avoir quelques informations dessus.

Le module Powershell doit obligatoirement comporter trois fonctions. Elles seront appelées lorsqu'un fichier de configuration contiendra une ressource du type que l'on aura créé. “Get-TargetResource” permet de récupérer la configuration telle qu'elle a été définie. “Set-TargetResource” applique une configuration (création, modification et suppression) et “Test-TargetResource” effectue le test de validité (elle retourne un booléen).

Il convient à la personne créant le module de développer le corps de ces fonctions (le squelette étant toujours identique), c'est à dire les paramètres et les process effectués.

Pré-requis

Au lancement de Powershell 4.0, il pouvait être fastidieux de développer ses propres ressources car il fallait respecter une certaine syntaxe. Cependant, Microsoft a développé un module permettant de faciliter la création de ressource à destination de DSC : xDscResourceDesigner. Ce dernier va nous permettre de générer nos fichiers automatiquement. Il est disponible en suivant le lien ci-dessous : http://gallery.technet.microsoft.com/scriptcenter/xDscResourceDesigne-Module-22eddb29

Il suffit ensuite de placer ce module dans le dossier :
C:\Program Files\WindowsPowerShell\Modules”.

DSC xDscResourceDesigner

Création de la ressource

Pour créer la ressource, on commence par définir ses propriétés avec la cmdlet “New-xDscResourceProperty”. Celles-ci possèdent à minima un nom, un type et des attributs. Ces derniers permettent de définir l'accessibilité (lecture, écriture,...). Lorsque l'on définit une nouvelle ressource, au moins une de ses propriétés devra posséder l'attribut “Key” et ne pourra être un tableau. Cet attribut permet d'indiquer la propriété utilisée lors de la recherche d'une ressource.

Dans l'exemple ci-dessous, on définit 3 propriétés :

  • le nom du partage
  • le chemin vers lequel le partage pointe
  • la présence ou l'abscence du partage
Ensuite, il est nécessaire de créer la ressource via la cmdlet “New-xDscResource”. Il faut spécifier toutes les propriétés utilisées dans cette ressource, le nom de la ressource et éventuellement le chemin où l'on va la stocker (sinon il sera placé dans un répertoire “DSCResources” à l’intérieur du répertoire dans lequel on se trouve).
Nous nous retrouvons avec le fichier .MOF ci-dessous :

Un module Powershell qui ne comprend pour l'instant que le fichier .PSM1 a aussi été généré. Il faut maintenant définir la logique de nos 3 fonctions à l'intérieur de ce module.

Get-TargetResource

Le code intégré à la fonction “Get-TargetResource” récupère le partage NFS s'il existe et retourne le chemin vers lequel il pointe. S'il n'y a pas de partage NFS avec ce nom, alors un message est écrit dans l'invite de commande Powershell.

Set-TargetRessource

Dans le code ci-dessous, on récupère un éventuel partage avec le nom défini en paramètre. Si ce dernier existe, alors on le met à jour avec le bon chemin (obligation de supprimer puis de recréer le partage NFS) sinon le partage NFS est créé. Si le partage est présent alors que la propriété “Ensure” a pour valeur “Absent” alors le partage NFS est supprimé. Il est à noter que cette fonction n'est appelée que lors de la modification d'un fichier de configuration d'un serveur ou lorsqu’une configuration est incorrecte.

NB : Lors de la génération du template de module à remplir, il est indiqué dans le corps de la fonction qu'il faut positionné la variable globale “$global:DSCMachineStatus” avec la valeur 1 si une configuration nécessite un reboot après son application.

Test-TargetResource

Cette dernière fonction valide qu'une configuration est bien appliquée. Elle vérifie l'existence du partage ainsi que le chemin vers lequel il pointe si le paramètre “Ensure” a pour valeur “Present”. Si “Ensure” vaut “Absent” alors il est vérifié que le partage NFS n'existe pas. Les différents tests retournent la valeur “$true” si la configuration est bonne et “$false” dans le cas contraire. 

A noter, qu'à la fin de notre module, la cmdlet “Export-ModuleMember” est présente et obligatoire afin que Powershell découvre correctement les méthodes de la ressource.

Génération du manifest

Enfin, il faut générer le fichier de manifest du module. Afin de réaliser cette opération, il faut utiliser la commance New-ModuleManifest en spécifiant les paramètres “FunctionsToExport”, “RequiredModules” et “Path”. Attention, le chemin indiqué doit être la racine de la ressource créée (Au même niveau que le dossier DSCResources), sinon il vous sera impossible d'importer la ressource. De même, le nom du manifest doit être le même que le nom du module.

Les autres champs du fichier .PSD1 généré peuvent aussi être spécifiés via la cmdlet précédente ou en remplissant manuellement le fichier (via un éditeur de texte). Certaines propriétés seront même automatiquement remplies (exemple : auteur avec le samaccountname de l'utilisateur ayant lancé la commande).

Voici un lien menant vers le manifest généré pour cette ressource : Manifest

Import de la ressource et utilisation

Il suffit de placer notre ressource (Répertoire C:\NFSShare dans notre exemple) dans “C:\Program Files\WindowsPowerShell\Modules\

En utilisant la commande “Get-DSCResource”, on remarque que notre ressource NFSShare est disponible. On s'aperçoit aussi que la propriété DependsOn est automatiquement rajouté sur cette ressource. Il s'agit d'une propriété par défaut disponible sur toutes les ressources DSC. Pour rappel elle permet de lier des configurations entre elles en spécifiant qu’une configuration dépend de la réussite d’une autre.
 DSC List Resources
Il est ensuite possible de générer un fichier de configuration pour un serveur. Il est nécessaire d'ajouter la commande “Import-DscResource” en renseignant le paramètre “ModuleName” dans le bloc de configuration lorsque l'on utilise des ressources personnalisées.
Enfin, on applique la configuration via la ligne de commande ci-dessous et on obtient bien la création du partage NFS :

DSC Result

Conclusion

Lors de cet article, nous avons vu la création d'une ressource permettant de gérer des partages NFS. Il est possible de l'améliorer en gérant d'autres propriétés de ce type de partage comme les permissions. 

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

Exchange 2003 – Configuration du RPC sur HTTP

Contexte

Cet article présent la configuration du RPC/HTTP dans une architecture de type mono-serveur l’unique serveur ayant les rôles suivants :

  • Contrôleur de domaine,
  • Catalogue global,
  • Serveur Exchange,
  • Proxy RPC.

RPC/HTTP permet à une entreprise de relier ses clients Outlook mobile sans mettre en danger son environnement de production par l’ouverture de plusieurs ports (qui sont susceptibles d’être bloqués en sortie dans le réseau du client mobile) les seuls ports utilisés sont les ports TCP 80 ou TCP 443 dans le cas d’une utilisation avec SSL.

Installation du proxy RPC

- Dans « Panneau de configuration » choisir « Ajouter ou supprimer des programmes »

  • Choisir « Service de mise en réseau » puis « Détails » :

clip_image002_thumb1

- Sélectionner « Proxy RPC sur HTTP » puis lancer l’installation (le CD de Windows Server 2003 ou le dossier i386 est requis) :

clip_image003_thumb1

Configuration du répertoire RPC depuis IIS

- Depuis la console IIS (Gestionnaire des Services Internet), afficher les propriétés du dossier RPC :

clip_image004_thumb

- Dans l’onglet « Sécurité du répertoire », cliquer sur le bouton Modifier de la partie « Authentification et contrôle d’accès » :

clip_image005_thumb1

- Dans les Méthodes d’Authentification, décocher la case « Activer la connexion anonyme » et cocher « Authentification de base » :

(Une fois cette modification faite, un message d’information apparait vous signalant que le mot de passe est envoyé en clair via une connexion non-cryptée et est donc visible en utilisant un outil d’analyse de trames, bien sûr, si le SSL est déjà activé sur le site, ce message ne nous concerne pas.)

clip_image006_thumb1

Activation du SSL pour le répertoire RPC

ATTENTION ! : Cette partie nécessite que la configuration d’SSL sur le Site par Défaut IIS soit fonctionnelle, avec un certificat de paramétré. Si SSL n’est pas utilisé cette étape peut être passée.

- Depuis la console IIS (Gestionnaire des Services Internet), afficher les propriétés du dossier RPC,

- Dans l’onglet « Sécurité du répertoire », cliquer sur le bouton Modifier de la partie « Communications sécurisées » :

clip_image007_thumb1

- Cocher les cases « Requérir un canal sécurisé » ainsi que « Exiger le cryptage 128 bits »:

clip_image008_thumb1

Activation du RPC-http depuis la console Exchange

- Depuis la console « Gestionnaire système Exchange » dans le dossier « Serveurs » sur le serveur RPC-http faire clique-droit puis « Propriétés » puis cocher la case « Serveur principal RPC-http :

clip_image010_thumb1

Une erreur spécifiant qu’aucun serveur frontal Exchange n’existe est susceptible d’apparaitre. Ignorer ce message.

Configuration des ports utilisé par le serveur Proxy RPC

ATTENTION ! : Cette partie touche au registre. Avant toute modification du registre, il est fortement conseillé de sauvegarder le registre

La configuration des valeurs de registre suivantes est automatiquement exécutée lors du redémarrage suivant l’installation du Proxy RPC-HTTP (pour Exchange Server 2003 SP2). Cette partie est utile, si un reboot n’est pas envisageable ou si vous souhaitez vérifier la bonne configuration de ces valeurs.

- Chercher la clé de registre « HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\RpcProxy » :

clip_image012_thumb1

- L’attribut « ValidPorts » doit être configuré comme il ceci (le texte surligné en jaune doit être modifié en fonction de vos nom de serveurs :

NomNETBIOSduServeur:6001-6002;

FQDNInterneduServeur:6001-6002;

FQDNExterneduServeur:6001-6002;

NomNETBIOSduServeur:6004;

FQDNInterneduServeur:6004;

FQDNExterneduServeur:6004

 

Par exemple :

  • Domaine : TEST.lab
  • NomNETBIOSduServeur : EXCHANGE-SRV
  • FQDNInterneduServeur : EXCHANGE-SRV.TEST.lab
  • FQDNExterneduServeur : mail.TEST.lab

Soit :

EXCHANGE-SRV:6001-6002; EXCHANGE-SRV.TEST.lab:6001-6002; mail.TEST.lab:6001-6002; EXCHANGE-SRV:6004; EXCHANGE-SRV.TEST.lab:6004; mail.TEST.lab:6004

Active Directory – Prise en charge des scénario du type “USN Rollback”

Contexte

Suite à la restauration d’un snapshot ou d’une sauvegarde d’un contrôleur de domaine virtuel, l’erreur USN Rollback peut apparaître.

L’USN (Update Sequence Number) permet un versionning des objets utilisé par l’annuaire Active Directory, chaque modification d’un objet AD depuis un contrôleur de domaine va incrémenter le numéro USN de l’objet. En comparant entre les différents DCs leur numéro d’USN il est possible de déterminer quelle base est la plus à jour.

Lors d’une restauration d’un DC virtuel, et si l’outil de sauvegarde utilisé ne supporte pas la restauration Active Directory, il est probable qu’une erreur USN soit provoquée.

Les autres contrôleurs de domaine – en comparant leur numéro USN – vont détecter le DC restauré comme n’étant pas à jour en ne répliqueront pas avec lui.

Eviter l’USN Rollback

Les solutions suivantes permettent d’éviter une situation d’USN Rollback :

  1. Utiliser une solution de sauvegarde avec prise en charge de l’AD,
  2. Ne pas restaurer des backup dont la date excède le “Tombstone lifetime” qui est de 60 jours par défaut,
  3. Utiliser un contrôleur de domaine virtuel sous Windows Server 2012 ou ultérieur. Windows Server 2012 ajoute au contrôleurs de domaine un attribut supplémentaire (qui est géré par Hyper-V 2012) et qui évite l’USN rollback lors de la restauration d’un snapshot.

 

Symptômes de l’USN Rollback

    • La commande ”repadmin /showutdvec” retourne de différents numéros d’USN,
    • Le service NETLOGON est en pause,
    • La valeur de la clé “DSA Not Writable” est à “4”,
    • Les erreurs 2095 (NTDS Replication), 2013 (NTDS General), 2103 (USN Rollback),
    • Les réplication entrantes/sortantes sont désactivées (visible à l’aide de la commande repadmin /showrepl ),

    Résolution

    Microsoft préconise (après l’apparition d’un USN Rollback) de retirer le contrôleur de domaine défaillant, après avoir transféré les éventuels rôles FSMO qu’il héberge (NTDSUtil permet de transférer les rôles ou de les saisir s’il est impossible de les transférer correctement).
    Egalement dans le cas où la de-promotion du contrôleur de domaine ne se passe pas correctement, il faudra s’aider du switch “/forceremoval” de al commande DCPromo. Il faudra aussi bien penser à nettoyer les métadonnées du contrôleur de domaine défaillant, depuis un contrôleur de domaine fonctionnel.
    L’idéal est – lorsque l’on souhaite restaurer le snapshot d’un contrôleur de domaine alors que le snapshot ne supporte pas la VM-GenerationID – de démarrer le contrôleur de domaine directement en mode DSRM. Une fois démarré en mode DSRM, mettre la valeur de registre “database restored from backup” à “1”.
    Si le contrôleur de domaine a déjà été démarré en mode “normal”, il faudra le retirer (après avoir pris soin de récupérer les rôles hébergés).
    (Source :

DFS-R–Créer un rapport de réplication

Contexte

Afin de suivre l’état des partages répliqués en DFS-R – comme par exemple le partage SYSVOL depuis Windows Server 2008 – il est possible d’utiliser la fonction intégrée à DFS Management et qui permet de générer une page HTML synthétisant l’état de la réplication.

Voici les trois tests proposés par la fonction de diagnostique de DFS Management :

  • Test de propagation : Permet de vérifier la bonne réplication d’un fichier de test,
  • Rapport de propagation : Génère le rapport de propagation du fichier de test utilisé lors du Test de propagation,
  • Rapport de santé : Génère un rapport présentant les éventuels erreurs/warnings des serveurs membres ainsi que le bon fonctionnement de la réplication (en affichant par exemple le gain réseau par rapport à une réplication classique de type FRS).

Cet article ne traitera que de la fonction “Health Report”.

    Créer un rapport de santé (GUI)

    Depuis la console “DFS Management” dans la partie “Replication”, choisir le lien de réplication que l’on souhaite vérifier, puis faire clique-droit et choisir “Create Diagnostic Report” :
image

 

La page suivante propose les trois tests mentionnés plus haut, choisir “Health Report” :

image

La page suivante affiche le nom du rapport qui sera généré, et nous permet d’en choisir l’emplacement :

image

Choisir les membres que l’on veut voir apparaitre dans le rapport de santé dans la partie “Included members” :

image

La page suivante permet de spécifier deux points importants dans l’exécution du rapport (dans cet exemple, seule l’option “Count backlogged files” sera utilisée) :

1. Les “backlogged files” (qui sont les fichiers à répliquer) doivent-ils être comparés pour vérifier que tous les serveurs répliquent correctement les nouveaux changements ?

Pour ce test, un membre de référence doit être indiqué, il s’agira du membre dont les fichiers sont les plus à jour.

2. “Count the replicated files and their sizes in each member” cette option permet de comparer tous les fichiers répliqués ainsi que leurs tailles entre tous les serveurs. Ce qui permet de confirmer que les fichiers sont bien les mêmes entre les différents serveurs.

Dans le cas où plusieurs fichiers sont présent, le comptage de tous les fichiers peut se montrer lent et consommateur en ressources.

image

Terminer l’assistant de création de rapport puis le rapport s’affiche via votre navigateur par défaut (le rapport au format HTML est disponible à l’emplacement spécifié à la seconde page de l’assistant).

Créer un rapport de santé (PowerShell)

Il est également possible d’utiliser PowerShell pour la création de rapport de santé dont la génération peut être automatisée à l’aide d’une tâche planifiée.

Voici la commande utilisée :

DfsrAdmin.exe Health New /RgName:$Nom_du_groupe_de_replication
/RefMemName:$MEMBRE_DE_REFERENCE /RepName:"C:\DFSReports\report1.html" /FsCount:true

  • /RgName : Il faut ici préciser le nom du groupe de réplication que l’on souhaite monitorer.
  • /RefMemName : Ce switch permet de déclarer le membre de référence, celui le plus à jour.
  • /RepName : Emplacement de stockage du rapport généré,
  • /FsCount : Permet de spécifier si une comparaison des fichiers ainsi que de leur taille doit être faite ou pas.

Office 365 - Nettoyer un compte

 

Lorsqu’on se contente de supprimer un compte dans Office365, que ca soit via la console Web ou via powershell, il n’est pas réellement totalement détruit et cela peut occasionner des comportements étranges s’ils sont resynchronisés par la suite.

Afin d’y remédier, il est possible de forcer la suppression totale de ce compte via powershell.

Commencer par supprimer de facon classique le compte :
Remove-MsolUser -UserPrincipalName utilisateur@domaine.com

Puis forcer le nettoyage :
 Get-MsolUser -ReturnDeletedUsers -UserPrincipalName utilisateur@domaine.com | Remove-MsolUser RemoveFromRecycleBin -Force

Il est maintenant possible de relancer un DirSync et l’utilisateur sera intégralement resynchronisé comme s’il n’avait jamais existé.

MDT 2013 - Exécuter un script PowerShell – Partie 1

Cet article indique les étapes à réaliser pour exécuter un script PowerShell durant vos déploiements.

Ajout des fonctionnalités

La première étape consiste à mettre à jour votre image de boot pour la rendre compatible avec l’exécution des scripts PS. Pour ce faire, il est nécessaire d’ajouter des fonctionnalités à votre environnement Win PE. Rendez-vous donc dans les propriétés de votre « Deployment Share ».

A

Sélectionner l’onglet « Windows PE », puis l’architecture de votre plateforme (x86 ou x64) et enfin cliquer sur « Features »

Cette fenêtre vous permet de visualiser les fonctionnalités disponibles. Dans notre cas, pour permettre l’utilisation des scripts PowerShell, il est nécessaire d'ajouter les composants suivants :

  • Microsoft Data Access Components (MDAC/ADO) support
  • NET Framework
  • Windows PowerShell

B

Mise à jour de l’image Win PE

Maintenant que les composants ont été sélectionnés, il faut mettre à jour votre Deployment Share. Cette opération va régénérer votre image WinPE avec les nouvelles fonctionnalités. Pour ce faire : Clic droit sur « Deployment Share » puis sélectionner « Update Deployment Share »

1

Sur l’assistant de mise à jour, vous pouvez laisser les options proposées par défaut.

2 

Cliquez sur Next. L’assistant affiche un résumé. Cliquez une nouvelle fois sur Next pour démarrer le processus de mises à jour de l’image.

3

La durée de l’opération peut prendre quelques instants. Patienter jusqu’à la fin du processus.

4

Après avoir vérifié que l’opération s’est déroulée correctement, cliquez sur Finish pour fermer la fenêtre.

Je vous invite à vous rendre sur la seconde et dernière partie. Celle-ci traite l’ajout de l’image Wim dans WDS et l’ajout d’un script Powershell dans une séquence de tâches.