Azure Automanage, configuration de machines (2/3).

Seconde partie pour cet article consacré à la nouveauté Azure Auto Manage, Configuration management. La première partie est à retrouver sur ce lien : https://thierrybtblog.wordpress.com/2023/09/27/azure-automanage-configuration-de-machines-1-3/

Rappel Important de cette première partie, ce n’est plus le moteur de configuration intégré (LCM) de DSC qui va traiter LE fichier de configuration mais les Azure Policy qui vont traiter LES fichiers de configuration. Différence … importante !

Il y a lorsque l’on aborde ce nouveau sujet pas mal de documentations à lire et pas mal d’étapes à dérouler pour utiliser cette fonctionnalité. Rien de mieux qu’un schéma (peut-être un peu « copieux ») pour mieux comprendre les différentes étapes de mise en œuvre.

On trouve sur la partie basse (en gris) une mise en œuvre de type CI/CD réalisée avec Azure Devops ou avec Gitlab par exemple.
Mais c’est plutôt la partie haute qui va décrire les étapes de mise en œuvre. Dans cette partie 2 de l’artcile, la présentation théorique des différentes étapes.

Première étape, les prérequis pour pouvoir préparer ses configurations. Ici, on utilise Powershell Core dans sa version la plus récente si possible, ou à minima, une version 7 et +. A installer depuis le repo des releases dispo à cette adresse : https://github.com/PowerShell/PowerShell/releases
Version en cours, 7.3.9

Puis on ajoute le module dédié, GuestConfiguration, qui va permettre de préparer les configurations. Rien à signaler de ce côté. Rien à signaler jusqu’au prochain article ou on verra ensemble qu’il peut y avoir quelques surprises avec ce module.

Seconde étape, préparer une configuration de type DSC. C’est à dire une configuration déclarative, ce que l’on veut obtenir (et maintenir). Pour les utilisatrices / utilisateurs de DSC, pas de différence avec l’existant.
Si vous n’avez jamais utilisé DSC, voici une configuration passe partout que je présente dans un article dédié pour réaliser ses premiers pas avec DSC : https://thierrybtblog.wordpress.com/2018/06/18/votre-premiere-configuration-dsc-1-2/

Ce code va servir lors de la préparation des artefacts présentée prochainement en détail dans la partie 3/3.

Configuration Clef1 {
Node ‘DSC2’ {
Registry RegistryExemple
{
Ensure = "Present"
Key = "HKEY_LOCAL_MACHINE\SOFTWARE\Clef1"
ValueName = "Le nom de ma clef "
ValueData = "La valeur de ma clef"
}}}
Clef1

3 ème étape, faire de cette configuration, un Artefact.
Là, c’est assez nouveau. Une configuration DSC, c’est un fichier PS1 (Powershell) qui est compilé par des commandes DSC et qui devient un fichier Mof (Managed Object Format).
Il y a maintenant l’ajout d’une étape, ce mof devient avec des commandes du module GuestConfiguration un fichier Zip.
Pour résumer : PS1 => MOF => ZIP
Nous verrons que ce fichier est consommée façon assez particulière.

4 ème étape, valider la conformité du fichier. C’est à dire vérifier la présence des modules et dépendances par exemple. Ce n’est pas spécifique à GuestConfiguration mais plutôt à DSC.
Une parenthèse à ce sujet. DSC est livré de base avec quelques modules. Mais avec le temps, ce sont plusieurs milliers de modules qui sont disponibles. Si la configuration souhaitée fait appel à une module particulier, il faut qu’il soit disponible.
Valider la conformité, c’est donc vérifier ce point (et quelques autres) avant de pouvoir se dire que l’artefact est valide. Une autre exemple, jouer à blanc le fichier pour vérifier qu’il peut contrôler la configuration ou l’appliquer.

5 ème étape, publier l’artefact. Attention, cette partie sera présentée en détail (très en détail), c’est en fait une opération de copie des fichiers Zip de configuration sur un compte de stockage Azure. Si possible (même si cette étape est facultative), en utilisant un jeton SAS pour garantir un accès sécurisé au package stocké.

6 ème étape, créer une définition Azure Policy. Ici, il va falloir s’accrocher un peu. Un peu de teasing sur la 3 ème partie du sujet.

Au premier abord, pas très inspirant…!
Pourtant, on retrouve quelque uns des points dont il a été question un peu + haut. Par exemple, la variable $contentURI qui est l’URI HTTP(S) public du package de contenu configuration de machine.
Dans la ligne Path = './policies/auditIfNotExists.json', la définition de policy Azure. Rien de mystérieux, mais il faudra expliquer ce contenu pas à pas. Cette partie ne peut être correctement comprise sans une mise en œuvre complète, il faudra patienter un peu avant de retrouver cella dans la partie 3/3 de l’article.
Ce n’est pas tout avec cette 6ème étape.
Les commandes du module GuestConfiguration ne vont créer qu’un (petite) partie de la policy. Le cœur de la configuration. Mais toutes les données périphériques sont à ajouter directement dans le Json généré par le module.
Une Policy, c’est une règle ou un ensemble de règles qui vont identifier des ressources et certains de leurs paramètres. Puis y appliquer un effet, comme par exemple l’audit, le deny, la remédiation …etc.
Si la partie effet et contenu est bien traitée par le module, la règle d’application peut / doit être revue.
Le json va être enrichi du filtre d’application. Voir ci dessous un exemple fourni dans la documentation éditeur.

Si allOf (c’est à dire si toutes les conditions sont remplies), alors j’applique l’effet de la stratégie.
Dans l’exemple si tag Owner = BusinessUnit et si tag Role = Web, alors j’applique l’effet.

Dernier point pour terminer ce sujet, l’attribution des configurations ne reprend qu’une partie des effets disponible dans les policy Azure. Si les policy « historiques » sont capables d’appliquer les effets suivants (la liste a évoluée ces derniers temps) …
AddToNetworkGroup
Append
Audit
AuditIfNotExists
Deny
DenyAction
DeployIfNotExists
Disabled
Manual
Modify
Mutate

… les policy version GuestConfiguration sont un peu moins riches et même différentes dans le mode de fonctionnement.
Deux modes disponibles, AuditIfNotExists et DeployIfNotExists .
Mais complété par la valeur Type du package qui détermine si la configuration doit uniquement effectuer un audit ou si la configuration doit modifier l’état de l’ordinateur (AuditandSet ou Audit).

Toute dernière étape, mais qui n’en est pas vraiment une, la visualisation des résultats.
Là, c’est habituel, direction la console Policy Azure qui offre tout ce qu’il faut pour avoir un rapport clair et précis de ses configurations.

RDV dans quelques jours pour une première mise en application.
Et le moins que l’on puisse dire, c’est que c’est une solution qui DEPOTE ! Un peu subtile dans la mise en œuvre, mais ça vaut vraiment l’investissement 😉




Azure Automanage, configuration de machines (1/3).

Première des 3 parties pour cette présentation d’Azure Automanage dédiée à la configuration des machines sur Azure. Azure automanage est un ecosystème, une solution (je ne sais pas le définir autrement) de gestion complète des machines virtuelles.
Du monitoring, du backup, de la sécu, mais aussi de la configuration de machine, et plus spécifiquement, du maintien de configuration.
C’est sur ce point particulier que je veux insister.

Jusqu’à ce jour, la configuration des machines à la méthode … Cloud Native Azure, c’est l’utilisation d’Azure Automation et plus particulièrement de State configuration (DSC), une des options de Configuration Management.

Cette gestion de configuration est l’équivalent On premise de Powershell Desired State Configuration, une gestion intégrée et terriblement efficace des configurations de machines Windows et (avec un peu plus de boulot), Linux.
J’ai déjà consacré un très grand nombre d’articles à ce sujet sur le blog :
https://thierrybtblog.wordpress.com/?s=dsc

En clair, la configuration de machine, c’est du maintien en condition opérationnel « à la volée », c’est à dire la remise en place de paramètres qui auraient déviés de la liste déclarative de DSC. Une liste d’état que la machine va remettre en place sans aucune action (scripts ou action manuelle). Et cette remise en état des paramètres se fait toutes les 30 minutes si la configuration des moteurs est laissée par défaut.

La promesse d’Automanage, c’est (toujours) de garantir cette unicité mais avec une gestion différente. Une brique que l’on retrouve sous le terme Configuration management dans la solution globale Automanage (image éditeur).

Lorsque l’on découvre ce schéma, la question se pose. Est-ce du DSC rebadgé, légèrement modernisé ou bien une toute nouvelle fonctionnalité ?
La réponse est SANS AUCUNE HESITATION … une toute nouvelle fonctionnalité !

Il y a 3 différences majeures entre Powershell DSC et Configuration management. 3 différences qui bousculent complètement les habitudes.

1 / La + grande différence et la plus « dérangeante » au départ, ce n’est plus le moteur de configuration intégré (LCM ou LocalConfigurationManager, un moteur de configuration paramétrable) qui gère l’unicité des configurations. Et ça, c’est une sacrée révolution.
Le moteur est partie intégrante de l’OS, il ne se désactive pas, ne se désinstalle pas, il tourne en arrière plan et consomme un fichier de configuration si celui ci est présent. Et bien … ce n’est plus comme cela que ça fonctionne.

2 / On ne parle plus de configuration au singulier, mais de configurations au pluriel. C’est actuellement le seul point faible de DSC. Le moteur de configuration ne savait intégrer qu’un seul fichier de configuration, le fichier courant.
Ce fichier pouvait embarquer des centaines de paramètres, mais il n’était pas possible de donner 2 fichiers à consommer au moteur.
Un cas typique d’utilisation que j’ai utilisé chez plusieurs clients, c’est d’installer / paramétrer des serveurs. Par exemple, en « sortie de cartons », un serveur Windows devient un contrôleur de domaine avec un fichier DSC puis ce serveur est durcie en terme de sécu. Cette opération se faisait avec deux fichiers différents et donc … en deux opérations distinctes.
Rien de rédhibitoire, mais un peu plus de souplesse d’utilisation améliore encore l’utilisation.

3 / L’intégration des machines Linux est complètement aboutie, sans modification de la machine Linux. C’est une demi vérité de le présenter comme cela, mais auparavant, utiliser DSC sur Linux demandait pas mal de gymnastique.
Avec Configuration management, c’est (pour Windows comme pour Linux) l’ajout d’une extension au travers de l’agent de VM, opération simple et pratiquement transparente.
Ci-dessous, les extensions Windows et Linux que l’on installe en 2 clics / 2 commandes.

Plus de moteur de configuration LCM, plusieurs fichiers de configuration consommés en même temps, une gestion intégrée au travers d’extensions, mais qui / quoi pour accomplir ce miracle (et surtout, comment ?).
Et bien comme la configuration et le maintien de la configuration des machines est un sujet de gouvernance, c’est bien du côté d’un pilier de la gouvernance qu’il faudra se tourner.
Et ce sont les stratégies (policy) Azure qui vont prendre la place de DSC.

On parle dans ce cas de policy Custom ou personnalisées.
Avec une autre différence majeure. Il ne faudra plus se tourner vers les commandes Powershell / AZ CLI dédiées pour la création de ces custom policy, mais du côté d’un tout nouveau module Powershell.
Attention, cela ne signifie pas la disparition de DSC dans sa capacité à préparer les configurations.
Puisque ce sont toujours des fichiers déclaratifs de ce type qu’il faut préparer avant de pouvoir les utiliser (tiré de l’article https://thierrybtblog.wordpress.com/2018/12/13/powershell-dsc-accelere-les-serveurs-de-fichiers-oui-et-durablement/)

Mais cette préparation est complétée du module dédié GuestConfiguration qui transforme cette configuration en Artifact puis en Json de policy pour être ensuite transformée en (custom) définition de policy.
Et pour finir, elles vont êtres assignées sur un scope. A ce niveau, rien de nouveau, on retrouve tout les avantages d’une bonne gouvernance Azure avec l’utilisation des Azure Policy dans un mode habituel.

Si le concept global est posé, l’utilisation demande quand même un peu d’entrainement. Ce n’est pas une policy builtin que l’on trouve dans le portail, mais bien une préparation spécifique, assez éloignée de ce qu’il est courant de pratiquer.
C’est toute cette préparation et les quelques points sur lesquels j’ai un peu butés au départ qui seront partagés dans la seconde partie de ce sujet Configuration Management.

Un peu de patience, mais cette gestion nouvelle présente vraiment de très gros AVANTAGES !!



Crescendo, inarrêtable Powershell 1/2

Niveau : ★★★★☆

Tout est dans le titre !

Powershell est passionnant, et c’est peu de le dire. Parce que c’est un shell plutôt puissant, et aussi parce qu’il offre des possibilités presque … infinies.

Utilisé dans sa forme la plus classique, ce sont des lignes de commandes pour la gestion de tout ou presque. De la machine Windows, de l’environnement Azure ou de la machine Linux. Car oui, Powershell est décliné depuis bien longtemps dans un modèle « Desk Windows » jusqu’à la version 5.1 à un modèle Core en version 7.3.2, ouverte à Linux et OSX.

Powershell Core, version 7.3.0

Et puis il y a LES Powershell, c’est à dire tout ce qui vient depuis bien longtemps augmenter les possibilités.
La superbe (mais bien malheureusement trop confidentielle à mon goût) solution Powershell DSC. Il n’y a pas mieux en terme de gestion automatique et intégrée des configurations dans le monde Windows. Comme il n’est jamais trop tard pour bien faire, tout ou presque est à lire ici (https://www.editions-eni.fr/livre/powershell-dsc-simplifiez-et-accelerez-vos-configurations-systeme-9782409013393). Gestion de configuration, et même beaucoup plus avec le ressources Kit DSC proposé par les équipes Microsoft (https://devblogs.microsoft.com/powershell/dsc-resource-kit-release-october-2019/?WT.mc_id=AZ-MVP-5003759). Franchement, il ne serait pas raisonnable de vous en passer.

Autre possibilité, la fonctionnalité JEA, ou point de terminaison contraint. Là aussi, assez confidentielle. Inexplicablement confidentiel… (https://thierrybtblog.wordpress.com/2020/12/29/powershell-jea-point-de-terminaison-contraint-1-3/). Pourtant, un chouette sujet de sécurité à la mise en œuvre rapide et relativement simple. Un point de gestion contraint, limité (ou pas, c’est un choix de configuration) dans son usage, et de ce fait, toujours très pertinent.

J’oublie tout un tas de sujets liés à Powershell, ce ne sont que deux exemples de ce qu’il est possible de faire avec PS.

Pour celles / ceux qui suivent avec attention la vie de ce langage, une curieuse nouveauté est en train de voir le jour depuis environ 2 ans, j’ai nommé Crescendo.
2 ans, ce n’est pas franchement nouveau, mais il n’y a pas eu grand chose entre la Release Candidate du 9 décembre… 2021 et l’annonce de la GA (General Availability) du 10 Mars 2022. GA, donc … GO. La version 1.1.0 preview01 est ensuite arrivée en Décembre 2022.

Voici la présentation du produit du côté de l’éditeur :

Crescendo est un accélérateur de développement qui vous permet de créer rapidement des applets de commande PowerShell qui tirent parti des outils en ligne de commande existants. Crescendo amplifie l’expérience de ligne de commande de l’outil d’origine pour inclure la sortie d’objet pour le pipeline PowerShell

Des applets de commande (des commandes Powershell donc) qui tirent partie des outils en ligne de commande (des outils NON Powershell) existant. Je trouve l’idée assez séduisante.

Première étape, comprendre de quoi il s’agit. Et bien c’est avant tout du code à un niveau moyen / avancé. L’idée est vraiment TOP, mais il va falloir mettre un peu « les mains d’dans ». La copie écran suivante est un exemple qui est donné sur le blog dédié Powershell (https://devblogs.microsoft.com/powershell/?WT.mc_id=AZ-MVP-5003759).


L’objectif ici est de transformer la commande Linux apt en commande Powershell. Apt deviendra Get-InstalledPackage. Mais la sortie de commande deviendra également une sortie de type Powershell. Et c’est un intérêt supplémentaire.

Et c’est d’ailleurs l’une des difficultés que présente le Json. Traiter le retour de commande originel et en faire un retour de commande Powershell. C’est toute cette partie de code qui va apporter de la valeur à la commande :


{
    "ParameterSetName": "Default",
    "Handler": "$args[0]| select-object -skip 1 | %{$n,$v,$p,$s = "$_" -split ' '; [pscustomobject]@{ Name = $n -replace '/now'; Version = $v; Architecture = $p; State = $s.Trim('[]') -split ',' } }"
}

On sélectionne, on tripatouille, on filtre, on coupe, on remplace, et de tout cela, on fait un custom object Powershell. Oui, il y a quand même un peu de charge sur le sujet.

Mais il faudra également traiter les paramètres de commandes dans une autre partie du Json.
Comme dans cet exemple qui traite de la commande Windows vssadmin.exe.

"Parameters": [
{
    "OriginalName": "/For=",
    "Name": "For",
    "ParameterType": "string",
    "ParameterSetName": [ "ByMaxSize", "ByMaxPercent", "ByMaxUnbound" ],
    "NoGap": true,
    "Description": "Provide a volume name like 'C:'"
}

Ces points seront traités en détail dans la partie 2 du sujet avec une mise en application par la pratique.

Voilà qui mène à la seconde étape.

Au delà de la difficulté technique, il y a toute une stratégie autour du choix de la commande. Une commande sans paramètre et sans option n’est peut être pas « bonne cliente » pour Crescendo. Elle représente à mes yeux une perte de temps, le bénéfice est trop faible pour que cela présente un intérêt réel (au delà du challenge, et là, je ne discute pas ce point de passion 🙂 ).

Attention également à ne pas refaire ce qui existe déjà. Oui, c’est une évidence.
Je crois qu’un bon moyen de faire un premier tri est la commande Get-Alias qui expose déjà tous les alias de commande.

Les Alias Powershell

Ce n’est donc pas la peine de vouloir traiter des commandes cat ou cls qui sont déjà des alias de commandes Powershell. Même chose lorsqu’une ancienne commande a déjà été remplacée par une Applet Powershell.
Je reprends ici un exemple de la documentation :


Dans la liste des exemples qui commencent à apparaître sur le net, on trouve plutôt quelques commandes Linux, et des outils de gestion anciens / récents qui sont portés à la mode Powershell. Sur l’exemple donné dans la documentation officielle, c’est l’outil « agent Azure Connected Machine » (azcmagent) qui est converti.

Il reste donc pas mal de pistes à explorer. Une autre piste, Crescendo permettra aussi de générer une aide de commande plus complète que l’originale (ou même d’en créer une si la commande d’origine est fournie sans aide).

Vous êtes tentées / és, vous avez un avis sur la question ? Un REX ou de l’expérience sur le sujet ? N’hésitez pas à partager !

Powershell DSC se perd … dans l’espace !

Est-il possible pour Powershell DSC de se perdre dans l’espace ? La réponse et oui.

Mais … sa responsabilité n’est pas totalement engagée !

Pas très clair ? C’est bien normal, voici une petite explication pour bien comprendre le titre de ce post.
Impossible ce matin pour la ressource Package DSC d’installer un MSI. C’est pourtant une demande courante et qui ne présente pas  de difficulté particulière !

Il faut fournir dans le fichier déclaratif le chemin d’accès vers le MSI, son nom et son ProductID. Rien de plus.
Sous cette forme donc :
image001
Deux solutions pour trouver ces informations :

  • ORCA (présent dans le SKD Windows 10) qui a l’avantage de récupérer les informations directement dans le MSI.image002
  • Powershell à l’aide de la commande Get-WmiObject -Class Win32_Product | fl Name,Version,InstallDate,InstallSource,PackageName,IdentifyingNumber . Attention, cette commande remonte les informations sur une machine ou le produit est déjà installé.

Pourtant, depuis Azure Automation, impossible d’appliquer la configuration. Problème de correspondance entre le ProductId et le Name. Tests, retests, rien à faire.

Powershell se perd dans l’espace … puisque le MSI comporte une petite coquille.

image003

Le nom consigné dans le MSI n’est pas :
Microsoft SQL Server 2019 LocalDB‘ (sans espace en fin de chaîne) mais ‘Microsoft SQL Server 2019 LocalDB ‘. Avec un espace après DB.
La déclaration de la configuration DSC doit être modifiée pour porter la bonne chaîne de caractère.
Powershell DSC … non coupable !

Azure Stack ASDK, Powershell DSC en renfort.

Azure Stack est la version On Premises d’Azure disponible chez Microsoft. Déclinée sous plusieurs offres, elle permet de profiter du confort et des performances d’Azure dans son propre Datacenter.

Cette solution est déployée par des scripts Powershell livrés par Microsoft.

Mais comment garantir la réussite de cette installation (elle prend entre 6 et 12 heures) sans erreur en conformément aux résultats attendus ?

Facile ! Quoi d’autres que DSC pour ces opérations !

La preuve en image, installation d’un Stack en cours sur une machine de maquette :
Capture

Pushing new DSC configuration, locally.

Capture2

Powershell DSC, le moteur LCM (Local configuration manager) en action !

Est-il encore possible en 2019 de se passer de Powershell DSC ? Non,certainement pas 🙂

Pour rappel, pour celles et ceux qui souhaitent apprendre tout (ou presque) sur la solution Powershell DSC, mon livre propose 492 pages dédiées sur le sujet.

 

Powershell DSC Octobre et PS7.

Une mise à jour sur le ressource kit Powershell DSC puis sur la version 7 de Powershell.

Pour DSC, + de 40 corrections et des mises à jours pour 9 modules dont l’indispensable ActiveDirectoryDsc (un MUST !).

  • ActiveDirectoryDsc 4.2.0.0
  • ComputerManagementDsc 7.1.0.0
  • SharePointDsc 3.7.0.0
  • StorageDsc 4.9.0.0
  • xDnsServer .16.0.0
  • xDscResourceDesigner .13.0.0
  • xExchange .30.0.0
  • xHyper-V .17.0.0
  • xWebAdministration 3.0.0.0

A noter, un changement dans la fréquence des mises à jour est annoncé sur le site :

Following this resource kit release, maintainers will begin publishing as soon as they are ready rather than holding 6 weeks to do a group release. In the next community call we will discuss progress and whether we need to do a November release or not. Be sure to follow the DSC Community on Twitter for live updates as modules release.

Direction Twitter pour les infos au fil de l’eau !

Du côté de Powershell, la version 7 passe en Preview 6. Une bonne série de vidéos est disponible sur ce lien.

https://devblogs.microsoft.com/powershell/powershell-7-preview-6/

A voir par exemple, la vidéo Graphical Tools Cmdlets pour l’ajout d’outils graphique. A voir également, l’amusante commande …
Clear-RecycleBin 

Pas mal de nouveautés à tester avec cette nouvelle Preview !

 

Powershell DSC, ressource kit Septembre

Comme toutes les 6 semaines, une mise à jour de l’indispensable ressource kit Powershell DSC.

Et le moins que l’on puisse dire, c’est que l’on ne chôme pas chez Microsoft.
160 pull requests have been merged and 68 issues have been closed, all thanks to our amazing community!

Amazing, c’est bien le terme. Les modules sont de plus en plus performants, les fonctionnalités étendues au fil des semaines et des mois !!
C’est à lire sur le blog de l’équipe DSC.
https://devblogs.microsoft.com/powershell/dsc-resource-kit-release-september-2019/

Pour rappel, pour celles et ceux qui souhaitent apprendre tout (ou presque) sur la solution Powershell DSC, mon livre propose 492 pages dédiées sur le sujet.

Limitation Powershell DSC, le retour.

Une limite à Powershell DSC ? Sujet déjà abordé dans cet article.

Limitation Powershell DSC ?

Et pourtant, après correction, ça ne fonctionne pas, c’est un problème remonté par un lecteur du blog. Pire encore, le fichier Mof ne fait que quelques Ko, et le message d’erreur est bien présent.

PS C:\Users\xxxxxxxxx> Test-DscConfiguration -ReferenceConfiguration C:\temp\SecurityBaselineConfigurationWS2016\localh
ost.mof -computername localhost
The WinRM client sent a request to the remote WS-Management service and was notified that the request size exceeded
the configured MaxEnvelopeSize quota.
+ CategoryInfo : LimitsExceeded: (root/Microsoft/…gurationManager:String) [], CimException
+ FullyQualifiedErrorId : HRESULT 0x80338111
+ PSComputerName : localhost

Le message est (très) trompeur. Dans cet exemple, le Test-DSCconfiguration n’a pas été lancé dans le contexte administrateur… Ce n’est donc pas une erreur WinRM, mais un problème de contexte utilisateur qui génère ce message.
Trompeur …

Pour découvrir, se perfectionner et utiliser les fonctionnalités les plus avancées de DSC, 492 pages de mise en pratique dans le premier ouvrage Français dédié DSC :
PowerShell DSC Simplifiez et accélérez vos configurations système

banniere-530x280(1)

 

Powershell 7 et MAJ du Ressource Kit DSC

Deux nouveautés pour Powershell avec la Preview 3 de la version 7 et le ressource Kit DSC du mois de … Juillet (avec beaucooopppp de retard !).

Toutes les informations pour la preview 3 sur le site du projet à cette adresse : https://devblogs.microsoft.com/powershell/powershell-7-preview-3/

Pour plus de détails, il faut consulter le copieux ficher changelog à cette adresse : https://github.com/PowerShell/PowerShell/releases
Pour rappel, Powershell 7 (comme Powershell 6) est adapté à toutes sortes de système d’exploitation (liste non exhaustive).
Windows, Linux Ubuntu, Debian, Rhel, ARM, OSx …etc.

Pour DSC, toujours plus de fiabilité (45 corrections) et de fonctionnalité.
Au menu :
This release includes updates to 11 DSC resource modules. In the past 6 weeks, 96 pull requests have been merged and 45 issues have been closed, all thanks to our amazing community!

Un petit zoom sur la ressource ActiveDirectoryCSDsc (gestion des certificats) :

BREAKING CHANGE: ActiveDirectoryCSDsc module minimum requirements updated to WMF 5.0 because newly added AdcsCertificateAuthoritySettings resource requires WMF 5.0.

Attention donc à faire évoluer l’environnement si ce module est utilisé !
Pour découvrir, se perfectionner et utiliser les fonctionnalités les plus avancées de DSC, 492 pages de mise en pratique dans le premier ouvrage Français dédié DSC :
banniere-530x280(1)

 

Ressource kit DSC, Juin, xActiveDirectory devient ActiveDirectoryDsc !

La mise à jour du ressource kit Powershell DSC est arrivée le 26 Juin. Proposant de plus en plus de fonctionnalités et de stabilité, les versions se succèdent au rythme (effréné) d’une MAJ mensuelle.

Ce mois ci, un très gros travail sur le module xActiveDirectory qui permet la configuration et le déploiement d’un active directory.
Avec un CHANGEMENT MAJEUR, puisque le module est renommé et va devenir … ActiveDirectoryDsc.

C’est en cours, en date du 27 Juillet 2019. Vu sur le Git du projet

Gitnew

A terme, fin des commandes x pour ce module.

BREAKING CHANGE: Renamed the xActiveDirectory to ActiveDirectoryDsc and removed the ‘x’ from all resource names

 

Pour les changements et nouveautés sur les modules actuels :

C’est à lire en intégralité sur le blog de l’éditeur à cette adresse => https://devblogs.microsoft.com/powershell/dsc-resource-kit-release-june-2019/

Toujours « plus et mieux » avec Powershell DSC !