Déjà, dans mon round précédent, Orchestrator s’évertuait à me parler Français. Pourtant, je voulais de l’anglais. Après quelques recherches, la conclusion était simple : RTFM (Read The Fucking Manual). Après correction tout est rentré dans l’ordre, jusqu’à ce soir.
Ci-dessous un aperçu d’un Runbook Orchestrator appelé depuis System Center Service Manager (SCSM). Dans le portail SCSM, l’utilisateur renseigne un nom DNS pleinement qualifié qui est passé en second paramètre d’un Runbook Orchestrator. Le premier, c’est l’identifiant de la Runbook Automation Activity (La représentation du Runbook dans SCSM).
L’idée générale était d’avoir un premier Runbook appelé depuis SCSM. Ce Runbook en appelle un second qui va réaliser une opération. En fin d’exécution, le challenge était de reporter l’état du second Runbook comme état de la Runbook Automation Activity (j’ai perdu personne?). Pour faire simple, je voulais retourner un résultat depuis Orchestrator vers SCSM. C’est simple jusque là non?
C’est la que cela se complique. Personnellement, je pensais que ce serait mon second Runbook qui allait me poser problème (celui référencé dans l’activité Invoke Runbook) mais non, j’ai un un retour d’exécution avec succès du premier coup. Le problème, c’était le premier Runbook qui ne voulait pas mettre à jour son statut dans la Runbook Automation Activity.
Dans les logs Orchestrator, on pouvait constater le message suivant :
Allons voir ce que fait cette activité dans le détail. Globalement, c’est une activité “Update Activity” de l’Integration Pack SCSM 2012 SP1. Elle se connecte à mon infrastructure SCSM pour aller actualiser un objet de classe “Runbook Automation Activity” que l’on identifie à l’aide de son identifiant qui a été passé en paramètre au début du Runbook. Ce qu’on demande à cette activité, c’est d’indiquer la valeur “Completed” dans le champ “Status”.
Ce qui m’a mis la puce à l’oreille, c’est le message d’erreur m’indiquant l’incapacité à résoudre “Completed”. C’est encore une fois un problème de langue mais cette fois coté SCSM (arg, c’est bien plus long à réinstaller). Mon installation de Service manager 2012 SP1 a encore une fois été réalisée sur un système US certes mais encore avec un clavier français (RTFM bis repetita).
Pourtant, c’est bien l’IDP de SCSM qui me l’a proposé le terme anglais. Je vais quand même pas réinstaller toute mon infrastructure SCSM pour cela? La solution? Il faut franciser! Même si l’IDP va extraire la liste des valeurs de la base de données de SCSM, on peut encore les saisir à la main.
Et en plus ça fonctionne.
Après, on peut corriger le tir sans réinstaller SCSM en changeant la langue du clavier dans le registre à l’emplacement suivant : HKEY_USERS\<UserSID>\Control Panel\International. En changeant la valeur de la clé “Locale” et un petit redémarrage on corrige le problème.
BenoîtS – Simple and Secure by Design but Business compliant
Le jour ou j’ai vu Windows Core la première fois, je me suis dit que ce sera parfait quand toutes les applications Microsoft seront compatibles avec. C’était au moment des premières Beta de Windows 2008. Aujourd'hui avec Windows Server 2012, on peut dire que le rêve est devenu réalité, les principales applications Microsoft sont maintenant utilisables sur plateforme Windows sans interface graphique ou presque, …
Cette vision serait même parfaite si on pouvait tout administrer depuis un langage unifié : PowerShell. Pourquoi dis-je serait? Avec Windows Server 2012 et Powershell V3 on peut tout faire en Powershell? Y a donc forcément une commande PowerShell pour créer un trust dans le commandlet ActiveDirectory?
Et là, c’est le drame. Recherche rapide sur le Technet pour découvrir que dans PowershellV3, il n’y a qu’une seule commande en relation avec les relations d’approbation : Get-ADTrust, nada pour en créer ou les gérer. Etrange mais pas dramatique, il reste la méthode “Old school”. On peut encore se rabattre sur le vieux NETDOM.EXE, faudra juste parser son retour pour savoir si la commande s’est bien déroulée. Bizarrement, ça se passe pas comme prévus (ça marche pas), et pour cause, l’aide de la commande “NETDOM.EXE” est très claire :
Même Microsoft recommande d’utiliser l’interface graphique, c’est un comble. A ce stade, ça se corse car je dois effectivement mettre en place une relation d’approbation entre deux forêts. Donc exit la méthode “Old School”. Va falloir ruser.
Powershell, c’est aussi Dot.Net. Je passe donc du coté obscur de l’IT et me plonge dans le MSDN à la recherche d’une solution. Oh miracle, il existe une méthode Forest.CreateTrustRelationship. Il faut juste pouvoir l’appeler en Powershell. Après quelques tâtonnements, cela donne cela :
Concrètement, je me positionne sur un contrôleur de domaine du domaine approuvant pour exécuter ce script et cela va automatiquement mettre en place ma relation d’approbation unidirectionnelle dans les deux domaines :
On peut vérifier dans le domaine approuvé avec la commande Powershell Get-ADTrust (il faut bien qu’elle serve à quelque chose) et on obtient le résultat ci-dessous :
La relation d’approbation unidirectionnelle entre mes deux forêts est donc opérationnelle.
Conclusion, Windows Core, c’est bien, Powershell aussi mais pour pouvoir réellement se passer des outils d’administration classiques, il faudra encore attendre car sur un serveur Windows Server 2012, on a bien l’aide de Powershell (si on a pensé à la télécharger dans son intégralité) mais il n’y a pas d’équivalent pour avoir le MSDN de la même manière.
Simple and Secure by design but Business compliant.
Loin de moi l’idée d’être exhaustif sur ce domaine tant il est vaste. Microsoft vient de mettre à disposition un poster décrivant les mécanismes d’authentification utilisés pour Office 365 et plus généralement pour les services Cloud de Microsoft. C’est très pratique pour avoir une vision synthétique du fonctionnement. C’est disponible à cette adresse.
Benoîts – Simple and secure by design but Business compliant
Voilà un problème qui me pourri l'existence depuis bien longtemps : Pourquoi Orchestrator 2012 s'évertue-t-il à me présenter les classes d'objets de SCSM en langue française ? Au début, j'ai pensé que c'était à cause de mon installation de SQL Server (http://social.technet.microsoft.com/wiki/contents/articles/7784.collation-in-system-center-2012-service-manager.aspx). J'ai donc réinstallé l'intégralité de ma plateforme pour revenir au point de départ. Au final, lorsque je configurais une activité SCSM dans un Runbook Orchestrator, il s'évertuait à me parler en Français :
Techniquement, ce n'est pas bloquant, c'est juste que les traductions française des classes SCSM sont juste inutilisables. Si ce n'est pas la base de données, c'est peut-être le système d'exploitation ? Ben la non, plus, je n'utilise pas des ISO localisés et encore moins les Language packs. En prenant un peu de recul, je me suis rendu compte que même si mon OS est en anglais, il me parle quand même français, mon clavier est même en français. C'est normal, ça a été mon choix à l'installation de Windows :
C'est là que je me suis rendu compte de mon erreur. Le problème ne vient pas du clavier mais des formats utilisés pour afficher les dates, heures. J'avais sélectionné Français. Il était donc logique qu'Orchestrator utilise cette information pour déterminer ma langue. Il suffit donc de reconfigurer les formats de langue en Anglais dans l'interface du panneau de configuration ci-dessous :
Et la oh miracle, Orchestrator se met à me parler en anglais. C'est tout de suite plus compréhensible pour le débogage.
Mon problème était donc situé entre la chaise et le clavier, aussi nommé RTFM (Read The Fucking Manual) par les anglo-saxon car même le Technet le précise :
Conclusions :
- Installer Windows avec un ISO anglais est une bonne idée, mais faut juste faire attention à ne sélectionner que le clavier en français
- Lire le Technet avant, c'est mieux
Simple By Design and secure by design but Business compliant
In normal condition, each computer with DirectAccess enabled must be checked for all prerequisites before leaving the company office. That's a wise advice. With Windows 7 Operating systems, the IPSEC certificate must be present in the computer certificate store. With Windows 8 you can have the same problem if your DirectAccess infrastructure require Certificate for IPSEC tunnel authentication.
Maybe because my customer was so happy with his new DirectAccess laptops that he forgot this wise advice to perform basic prerequisites checks.
Problems began with laptops shipped overseas. DirectAccess Connectivity Assistant reports shows that the required certificate for DirectAccess was missing. Two simple tests can be performed with PowerShell or "CertUtil.Exe".

Problem, how to recover these clients without ship computers back to the office for recovery. That was the challenge.
My solution
My solution was to use a computer to request a certificate on behalf-of DirectAccess clients to recover. To perform such operating some prerequisites are required:
Create the temporary certificate
This step aim to create and publish a new certificate based on existing "DA Certificate" template. This is required for multiple reasons:
- First, the "DA template" generate certificate using subject information retrieved from Active Directory
- Public key cannot be exported from current certificate template
So let start with the DA Certificate duplication. This certificate will be used only by computers compatible with V3 certificates. This means we can select "Windows Server 2008 Enterprise" option.
This new certificate template will be named "Offline of DA Certificates". This certificate template will be dedicated to recovery scenario. For this reason, you can reduce validity period.
In the "Request Handling" tab, we configure this certificate template to allow private key export. This is required because certificate request won't be performed on the computer requiring the certificate.
In the "Subject Name" tab, we select to use information that will be provided in the certificate request to generate the subject name of the certificate. It's also required because certificate request will not be performed by computer witch require the certificate.
This certificate must be published in Active Directory and available for certificate request through the Microsoft Management Console certificate snap-in.
Requesting the certificate
Certificate request can be performed on any client computer that can reach perform the request (connected on LAN or DirectAccess). With the classic Certificate snap-in of the Microsoft Management Console we start the request certificate wizard. This request must be performed at computer store level, not user.
Here begin the tricky steps. Even if our new certificate template is available, we need to provide additional information to complete the certificate request. We must click on the "More information is required to enroll for this certificate. Click here to configure settings".
In the subject tab, we need two information. First the subject name, then the DNS Name. Theses information must be provided with this format:
- CN=<Computername>.<Active Directory FQDN>
- <Computername>.<Active Directory FQDN>
In illustration bellow, I provided these inputs for "CLIENT7.DIRECTACCESSLAB.LOCAL" computer and click to the "Add >" button.
Certificate request is not yet complete. From my point of view, this certificate usage is limited to recovery scenarios, so limited in time. At the end of the recovery process, this certificate will no longer be required. That's why I put a comprehensive description.

At last, I check that the certificate private key option is checked. Otherwise, we won't be able to export private key.
Now certificate request is complete, we can send it to the Active Directory certificate Services for processing.
At the end of the enrollment process, we have a certificate witch name does not match our computer name. This certificate must be exported.
Most important, this export must include the private key. Option is available because the certificate template allow it.
The PFX file will include all required information. Export process will delete certificate from our computer. We don't need it here.
Because our PFX file include sensitive information (private key), package must be protected with a password (A strong password will be a good idea).
Now you're ready to send this PFX file to the DirectAccess computer to recover. You can send it by mail but just send the PFX file and provide the required password by an alternate communication path for security reason.
Import
Once we import the PFX file on the DirectAccess computer to recover we can restart the IP Helper Service. If your certificate subject name match computer DNS name, DirectAccess will be operational as illustrated bellow:
That's great but we need to fix the problem and use the Certificate snap-in of the Microsoft Management Console to perform a certificate enrollment. We will request the missing certificate: "DA Certificate".

At the end of the enrollment process we have two certificate in the computer store. We must delete the temporary certificate. If we have a look at the certificate, it's easy to recognize witch certificate to delete because it's another certificate template.
Once we delete the temporary certificate, we just have to restart the IP Helper service a last time to force DirectAccess to use the only remaining certificate in the computer store to initiate IPSEC tunnels.
Even with Windows 8 and Unified Remote Access, performing some basic tests before shipping DirectAccess computers to users remain an excellent idea. The certificate missing case, is easy to solve. It's to the case if the Group Policies were not applied to computers
BenoîtS – Simple and Secure by Design but Business compliant
After a warn-up with the TMG can be a good friend of DirectAccess post, let's raise the level and try to publish our IPHTTPS protocol on an alternate public port. But why do we need to do such a thing? Maybe we already have an application published on the 443 external port of my TMG box. In my case, it is just another IPHTTPS publishing rule (Why do-I need two DirectAccess, that's a good question I will answer in another blog post. It's a part of a future DirectAccess Challenge). So it's just again a non-Web Server protocol that need to be published. Let's start the wizard.
First action, choose a name for our new rule. In my lab, I wanted to introduce an additional Unified Remote Access Server that will be located in a branch office. Don't ask why I need it, it's a challengeJ. This new URA Server has been configured with a single Network Adapter and will have its IPHTTPS protocol published on Internet.
In my lab, my Unified Remote Access Server is located in a branch office. We just provide its internal IPv4 public address.
It's a "HTTPS server protocol"yes, but not published on its default port. For this reason, we must customize protocol definition.
We keep all protocol definition default value except we replace "443" by "444 ".
This protocol will be published on the same external interface as my first IPHTTPS protocol. This would not cause conflict because we won't be using the default port.
That almost terminated. Now it's time for magic tricks.
And now two magic tricks. First one, we must customize rule to reconfigure how network frames will arrive to the URA. They must appear to come from the TMG box. Otherwise, it will not work.
Second magic trick, we must instruct the DirectAccess client to use this new port for IPHTTPS protocol. This information is provided in the Client-Side GPO generated for my branch-office URA Server. Let's have a look at the IPHTTPS configuration with a Get-NetIPHTTPSConfiguration PowerShell CommandLet.
Note that I had to specify a domain controller because my lab environments include RODC at branch office. Updating a GPO on a RODC is not a magic trick. If I can retrieve the IPHTTPS protocol configuration from a GPO, I can pass this object to a Set-NetIPHTTPSConfiguration PowerShell Command to reconfigure the ServerURL parameter.
Now let's see if the magic trick work on a Windows 7 DirectAccess-enabled computer connecting to the URA Server in my Branch-office. And Yes, IPHTTPS interface is operational and using my alternate port.
BenoîtS – Simple and Secure by design but Business compliant
Yes, even if today, Threat Management Gateway 2010 is not longer available from Microsoft product line, there still have in production, and some of them will remain online because they do the job. But why TMG can be a DirectAccess good friend?
As a matter of fact, it’s may be Unified Remote Access (URA) good friend because a new feature was introduced to Windows Server 2012 that make DirectAccess so easy to deploy : Publishing DirectAccess behind an Edge device

And in my case, my Edge device is a Forefront Unified Access Gateway. Let’s have a look at this in a TMG Management console :
When you configure your URA Server to operate behind an edge device, Teredo protocol wont be available (No consecutives IPv4 public addresses), neither 6to4. Only IPHTTPS will be available. But it’s not a web site. Technically the only thing that IIS and IPHTTPS protocol share is the HTTP.SYS stack at kernel level. We wont be publishing a web site but a non-web protocol.

First required parameter, the private IPv4 interface of my Unified Remote Access server. In my case, my URA server is configured with a single Network card.

At TMG protocol definition level, IPHTTPS protocol will be recognized ad “HTTPS Server”.

That protocol will be published on the external Network card of my TMG server, but only on one IPv4 public address

In my case, this is 131.107.0.10.

So IPHTTPS interface of my URA server will be available on Internet on this IP address.

Our TMG configuration is now terminated. It’s time to activate the new configuration and test that out.

A simple “Get-DARemoteAccessConnectionStatistics” PowerShell command will show to that my client is connected with IPHTTPS. In my case, this was a Windows 8 client, but this also work with Windows 7 if you enable the legacy client support feature.

So don’t underestimate the value of your existing TMG investment, it can be used with DirectAccess if you choose Unified Remote Access included in Windows Server 2012.
Final question : Is it possible to publish Unified Remote Access server on an alternate public port? Technically speaking yes but I won’t explain this in this blog post. This will be a subject for the DirectAccess Challenge series. Stay tuned and get an aspirin tube ready for that journey to DirectAccess in SDI scenario.
BenoîtS – Simple and Secure by Design but business compliant
Even if DirectAccess is now much more easier to deploy with Windows Server 2012, there still have some “cases” where Microsoft help is required. Jason Jones (Former Forefront MVP) updated his “Hot list” recently. Keep a bookmark on this list. This can save a lot of time during your next DirectAccess deployment.
BenoîtS – Simple and Secure by Design but Business compliant
Un peu de retard dans le traitement de mes To-to Lists ces temps-ci. DirectAccess étant une de mes marottes depuis sa première version (moi aussi j’ai cherché à déployer DirectAccess avec la Beta 3 de Windows Server 2008 R2
), je ne pouvais passer à coté de cette session Techdays animée par deux pionniers en la matière.

Bref, un must à voir, surtout pour comprendre que maintenant, DirectAccess c’est plus que pour les pionniers ou pour les Geeks que nous sommes mais c’est une véritable solution qu’il ne faut pas sous-estimer. Aujourd’hui, l’expérience utilisateur tiens une part importante dans la conception d’un poste de travail Windows 7/8.
Ecoutez vos utilisateurs pour eux la solution magique doit :
-
être utilisable par tous, y compris madame “Michu”
-
être transparent, ce serait parfait
-
être tout terrain, y compris dans les hôtels
BenoîtS – Simple and Secure by Design but Business compliant
Forefront UAG 2010 SP3 update is a pretty strait process. In my case my UAG Box was dedicated to DirectAccess. If the update process is strait forward, there is one thing to do not forget after update : reconfiguring DNS64 service. By default, this service is reconfigured from Automatic startup type to manual witch cause corporate DNS name resolution to fail for DirectAccess Clients. You can check with a simple Get-Service DNSAlgSvc PowerShell command :

Just reconfigure the Service StartupType property of the service with a Set-Service and start the service.

Enjoy Windows 8 clients connecting to your DirectAccess infrastructure.
BenoîtS – Simple and Secure by Design but Business compliant
Even if DirectAccess was introduced in Windows 2008 R2, so more than three years ago, there is no real course or training available for this cool feature. Even if It’s only a “small feature” in the Feature list of Windows Server 2012, it’s a real complex one. Until now we only had books such as Ben-Ari’s book (or mine even if we were not able to include a descent chapter on Unified remote Access) . But now we have a real training on DirectAccess in Video format thanks to our valuable colleague MVP Richard Hicks.

Thank you Richard for this initiative.
BenoîtS – Simple and secure by Design but Business compliant
Plus besoin de “bricoler” comme indiqué dans mon billet sur l’installation de CSPP sur une plateforme System Center en SP1. Une nouvelle version du package CSSP est maintenant disponible à cette adresse.

Comme indiqué pas de nouvelles fonctionnalités mais au moins, plus besoin de contourner l’installer pour installer le Cloud Services Process Management Pack.
Que le Cloud Privé soit avec vous.
BenoîtS – Simple and Secure by Design but Business Compliant
La déduplication est une des nouvelles fonctionnalités de Windows Server 2012. D’habitude quand la chose est trop belle, j’ai tendance à considérer que c’est trop beau, qu’il y a forcément un piège.
Une très bonne idée de la déduplication dans Windows Server 2012, c’est qu’il est possible de l’essayer sans l’activer. Plus précisément, on a juste à installer le rôle et utiliser l’utilitaire DDPEVAL.EXE. Il se chargera d’évaluer l’espace disque qu’on est en mesure d’économiser. Dans l’illustration ci-dessous, c’est le volume dédié au VMM Library Server de mon cloud qui a été évalué :

84% d’espace disque, je signe. j’évite donc l’achat d’un QNAP ou de partir dans la Winology. Donc La Déduplication +1 pour le facteur WAF.
BenoîtS – Simple and Secure by Design but also WAF compliant 
La première fois que j’ai entendu parler d’Active Directory dans Azure, je pensais que c’était pour simplement héberger des machines virtuelles de contrôleurs de domaine dans le Cloud. C’est effectivement faisable. Pourtant, en réfléchissant un peu, il fallait comprendre que cela allait beaucoup plus loin. Lorsqu’on met en œuvre une messagerie Office 365, celle-ci repose sur un annuaire. Il y a fort à parier que Microsoft n’allait pas dédier des machines virtuelles pour héberger les contrôleurs de domaine de chaque client d’office 365, ils sont beaucoup trop nombreux. Pour cet usage, Microsoft avait besoin d’un annuaire hautement disponible qui puisse prendre en compte une multitude de clients / tenants. C’est Windows Azure Active Directory. C’est un sujet qui se dévoile progressivement dans Azure depuis 2011.
Active Directory dans Azure peut se résumer en la capacité à projeter notre identité Active Directory '”On Premise” dans le Cloud. C’est du Bring your Own Identity. L’idée derrière cela est de permettre à des applications hébergées dans le Cloud de pouvoir se reposer sur cet annuaire comme le font beaucoup de nos applications “On Premise” tel qu‘Exchange ou Lync.
Dans ce domaine, je ne peut que recommander la lecture des White-papers disponibles à cette adresse :
Le premier permet de mieux comprendre les concepts autour de Windows Azure Active Directory en développant les principes de synchronisation d’annuaire, de fédération d’annuaire ainsi que de Single Sign-On. Le second est lui plus orienté sur la mise en œuvre de ces mécanismes et leur exploitation dans le cadre d’une application.
De mon point de vue, le Cloud va modifier la manière de penser les mécanismes d’authentifications et d’autorisation au sein des entreprises. Il ne faut plus penser “On Premise” mais “Hybride”. Sinon nous utilisateurs auront vite fait de souscrire à des applications métiers dans le cloud pour ensuite venir nous vous pour demander comment on pourrait faire pour éviter de maintenir une liste interminable de mots de passe.
BenoîtS – Simple and Secure by Design but Business compliant
Le Service Pack 1 de FIM 2010 R2 est désormais disponible, celui-ci introduit bon nombre de fonctionnalités propres à FIM. Pour une liste exhaustive, reportez-vous à la rubrique Technet suivante. Plus généralement, on peur retenir les améliorations suivantes :
-
Support de Windows Serve 2012 comme socle pour FIM 2010 R2
-
Support des contrôleurs de domaine Windows Server 2012 pour le connecteur Active Directory
-
Support de SQL Server comme base de données pour le connecteur SQL Server
-
Support du navigateur Internet Explorer 10
-
Support du système Windows 8 pour le FIM Client-Add-in
-
Support d’Office 2013 pour le FIM Client-Add-in
-
Support d’Exchange 2013 pour le scénario de provisionning de messagerie du connecteur Active Directory
-
Introduction du oracle Management agent regroupant SUN 7X et oracle 11.
Le Service Pack est disponible à cette adresse : KB2772429.
Comme pour toute mise à jour majeure de FIM, la recommandation reste la même : Tester sur un environnement représentatif avant de déployer en production.
BenoîtS – Simple and Secure by Design but Business compliant
More Posts
Next page »