Bon ouvrage
AnonymePowerShell Fonctionnalités avancées (Nouvelle édition)
1 avis
Ce livre sur les fonctionnalités avancées de PowerShell (en version 5.1 au moment de l'écriture) s'adresse aux administrateurs et ingénieurs système désireux d'approfondir leurs connaissances et d'aller plus loin avec ce langage de programmation.
Après une présentation des fonctions avancées et de leur utilisation, vous découvrez comment donner un caractère collaboratif à votre travail avec la...
Consulter des extraits du livre en ligne
Aperçu du livre papier
- Niveau Confirmé à Expert
- Nombre de pages 600 pages
- Parution septembre 2018
- Niveau Confirmé à Expert
- Parution septembre 2018
Ce livre sur les fonctionnalités avancées de PowerShell (en version 5.1 au moment de l'écriture) s'adresse aux administrateurs et ingénieurs système désireux d'approfondir leurs connaissances et d'aller plus loin avec ce langage de programmation.
Après une présentation des fonctions avancées et de leur utilisation, vous découvrez comment donner un caractère collaboratif à votre travail avec la création de modules et leur partage à travers la solution de package NuGet. Vous mettez ensuite un pied dans le monde du développement avec la manipulation d'objets personnalisés et l'élaboration de classes d'objets, offrant ainsi de nouvelles possibilités d'écriture pour enrichir votre code. Vous étudiez également les notions de jobs, qui permettent une gestion asynchrone des tâches, et de workflows.
L'énorme potentiel de la fonctionnalité PowerShell DSC pour la gestion d'une infrastructure est ensuite étudiée. Cette fonctionnalité permet de simplifier la configuration d'un nombre important de systèmes en un temps record et une détection de toute dérive de cette configuration. Vous pourrez ainsi procéder de manière proactive à sa correction avant l'apparition d'incidents.
Vous verrez les nouveautés de la version 5.1 de Windows PowerShell en termes de gestion avancée des fichiers (gestion de l'archivage, lien symbolique, fichiers temporaires…) ainsi que les atouts des technologies COM pour la communication avec d'autres applications. Vous étudierez la façon d'améliorer la sécurité des systèmes administrés à distance grâce à Just Enough Administration (JEA) et découvrirez comment mettre en place PowerShell Web Access pour rendre accessible une console PowerShell depuis un navigateur web.
Vous prendrez ensuite connaissance de l'ouverture de PowerShell à un monde plus open source avec PowerShell Core, qui propose un outil d'administration multiplateforme, et l'environnement de développement Visual Studio Code. Pour finir, vous étudierez la création d'interfaces graphiques, la collecte des données de performances ainsi que la manipulation d'annuaires Active Directory.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Avant-propos – Introduction – Fonctions avancées – Création de modules – Gestion des modules et des packages – Objets personnalisés et types standards – Classes – Jobs et parallélisation – Workflows – Desired State Configuration (DSC) – Gestion avancée des fichiers – Communication avec d'autres applications – Gestion à distance avancée – Vers un monde plus open – Création d'interfaces graphiques – Collecte de données de performances – Manipulation d'annuaires
Après une présentation des fonctions avancées et de leur utilisation, vous découvrez comment donner un caractère collaboratif à votre travail avec la création de modules et leur partage à travers la solution de package NuGet. Vous mettez ensuite un pied dans le monde du développement avec la manipulation d'objets personnalisés et l'élaboration de classes d'objets, offrant ainsi de nouvelles possibilités d'écriture pour enrichir votre code. Vous étudiez également les notions de jobs, qui permettent une gestion asynchrone des tâches, et de workflows.
L'énorme potentiel de la fonctionnalité PowerShell DSC pour la gestion d'une infrastructure est ensuite étudiée. Cette fonctionnalité permet de simplifier la configuration d'un nombre important de systèmes en un temps record et une détection de toute dérive de cette configuration. Vous pourrez ainsi procéder de manière proactive à sa correction avant l'apparition d'incidents.
Vous verrez les nouveautés de la version 5.1 de Windows PowerShell en termes de gestion avancée des fichiers (gestion de l'archivage, lien symbolique, fichiers temporaires…) ainsi que les atouts des technologies COM pour la communication avec d'autres applications. Vous étudierez la façon d'améliorer la sécurité des systèmes administrés à distance grâce à Just Enough Administration (JEA) et découvrirez comment mettre en place PowerShell Web Access pour rendre accessible une console PowerShell depuis un navigateur web.
Vous prendrez ensuite connaissance de l'ouverture de PowerShell à un monde plus open source avec PowerShell Core, qui propose un outil d'administration multiplateforme, et l'environnement de développement Visual Studio Code. Pour finir, vous étudierez la création d'interfaces graphiques, la collecte des données de performances ainsi que la manipulation d'annuaires Active Directory.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Avant-propos – Introduction – Fonctions avancées – Création de modules – Gestion des modules et des packages – Objets personnalisés et types standards – Classes – Jobs et parallélisation – Workflows – Desired State Configuration (DSC) – Gestion avancée des fichiers – Communication avec d'autres applications – Gestion à distance avancée – Vers un monde plus open – Création d'interfaces graphiques – Collecte de données de performances – Manipulation d'annuaires
Téléchargements
Avant-propos
- À propos de PowerShell
- À propos du livre
Introduction
- Pourquoi automatiser ?
- Infrastructure as Code et cloud
- L'entrée dans l'open source
- Le poids d'une communauté
Fonctions avancées
- Introduction
- Structure
- 1. CmdletBinding()
- 2. Param
- a. Parameter
- b. Attribut de validation des paramètres
- 3. Begin/Process/End
- 1. Pipeline
- a. ValueFromPipeline
- b. ValueFromPipelineByPropertyName
Création de modules
- Introduction
- Module script
- 1. Conversion d’un script en module
- 2. Convention de nommage
- 3. Internationalisation et partage du module
- Module dynamique
- Module binaire
- Manifeste de module
- 1. Création du manifeste
- 2. Gestion des versions
- 3. Gestion des dépendances
- 4. Gestion du contenu additionnel
- 5. Test de conformité d’un manifeste
- Exportation des membres d'un module
- 1. La commande Export-ModuleMember
- 2. Comportement particulier
- Structuration d’un module
Gestion des modules et des packages
- Introduction
- Module PackageManagement
- 1. Ajout du premier fournisseur
- 2. Recherche d’un package
- 3. Installation d’un package
- a. Depuis Chocolatey
- b. Depuis un MSI ou en MSU
- 4. Listing des packages installés
- 5. Mise à jour d’un package
- 6. Suppression d’un package
- 1. Recherche d’une ressource
- a. Versionning
- b. Contenu d’une ressource
- 1. Via un simple partage réseau
- a. PackageManagement
- b. PowerShellGet
- c. Organisation du partage
- a. Installation
- b. Création utilisateur
- c. Création du premier feed (dépôt)
- d. Enregistrement en tant que source et publication d’unmodule
Objets personnalisés et types standards
- Introduction
- Objets personnalisés
- 1. Création d’un objet personnalisé
- 2. Ajout d’un membre
- a. Ajout d’une propriété
- b. Ajout d’une méthode
- 3. Création d’une collection d’objets
- 4. Transformation d’un objet existant en objet personnalisé
- 1. Ajout de membre via un fichier .types.ps1xml
- a. Fichier .types.ps1xml
- b. Ajout d’une propriété
- c. Ajout d’une méthode
- a. Ajout d’une propriété
- b. Ajout d’une méthode
- 1. Fichiers de formatage par défaut
- 2. Objet personnalisé
- a. Personnalisation du type
- b. Application d’un fichier de formatage
- a. Modification du fichier de formatage par défaut
- b. Application du fichier de formatage
Classes
- Introduction
- Création d'une classe
- 1. Mot-clé Class
- 2. Propriété
- 3. Méthode
- 4. Constructeur
- 5. Visibilité
- Surcharge de méthode (overload)
- Statique
- Portée des variables
- 1. Propriété
- 2. Méthode
- a. Globale
- b. Script
- 1. Mot-clé enum
- 2. Manipulation des valeurs
Jobs et parallélisation
- Introduction
- Travaux en arrière-plan locaux (BackgroundJob)
- 1. Création d’un premier job
- 2. Récupération du résultatd’un job
- 3. Arrêt d’un job
- 4. Suppression d’un job
- 5. Erreurs et jobs
- Travaux en arrière-plan distants (RemoteJob)
- 1. Lancement d’un job distant
- 2. Multiples destinations
- 3. Attendre la fin de l’exécution des jobs
- Travaux planifiés (PSScheduledJob)
- 1. Création d’un travail planifié
- 2. Mise en place d’un déclencheur (trigger)
- 3. Modification des options
- Workflows (PSWorkflowJob)
- PowerShell API
Workflows
- Introduction
- 1. Qu’est-ce qu’un workflow ?
- 2. Comment fonctionne-t-il ?
- Création d'un workflow
- 1. Mot-clé workflow
- 2. Gestion des paramètres
- a. Paramètres communs
- b. Bloc param
- c. Paramètres propres aux workflows
- 3. Exécution à travers une sessiondistante
- 4. Exécution en tant que job
- 1. Restrictions de commande
- 2. Restrictions sur les objets
- 3. Restrictions de langage
- 4. Mot-clé InlineScript
- a. Syntaxe
- b. Portée des variables
- 1. Bloc parallel
- 2. Bloc sequence
- 3. Mot-clé Foreach
Desired State Configuration (DSC)
- Introduction
- Plateformes supportées par DSC
- Vue d'ensemble de la solution
- 1. Terminologie
- 2. Considérations générales
- 3. Deux modes : PUSH et PULL
- a. PUSH
- b. PULL
- 4. Configurations
- 5. Présentation des ressources DSC
- 6. Gestionnaire de configuration local (LCM)
- 1. Lister des ressources présentes
- 2. Ressources intégrées
- a. Utilisation générale d’une ressource
- b. Cas particulier avec la ressource Script
- a. Suivi des nouvelles versions
- b. Interrogation de la PowerShell Gallery
- c. Installation depuis la PowerShell Gallery
- d. Politique de nommage des ressources DSC
- e. Ressources personnalisées
- f. Utilisation des ressources
- 1. Création rapide avec ISE (ou Visual StudioCode)
- 2. Application d’une configuration
- 3. Utilisation de paramètres
- 4. Importation d’une ressource
- 5. Données de configuration (Configuration Data)
- a. Définition d’une configuration environnementale
- b. Variables spéciales $ConfigurationData, $AllNodes, $Nodes
- c. Prise en compte de la configuration environnementale
- d. Résumé
- 1. Configuration courante
- 2. Configuration du LCM sous PowerShell V4.0
- 3. Configuration du LCM sous PowerShell V5.0
- 4. Application d’une métaconfiguration
- 1. Fichier MOF de configuration
- 2. Fichier MOF de métaconfiguration
- 1. Prérequis
- 2. Étapes de réalisation
- 3. Données de configuration (Configuration Data)
- 4. Configurations
- a. Écriture des configurations
- b. Génération des fichiers MOF
- c. Configuration du LCM
- d. Application de la configuration
- 1. Évolution du PULL Server
- 2. PULL Server sous partage SMB
- 3. PULL Server Web
- a. Prérequis
- b. Écriture de la configuration du PULL Server
- c. Deux modes de configuration pour le LCM
- d. Configuration du LCM en fonction de l’ID
- e. Configuration du LCM en fonction du nom
- f. Forcer une mise à jour de configuration
- 1. Ressource composite
- 2. Configuration partielle
- a. Conception des configurations partielles
- b. configuration du LCM
- c. PUSH d’une configuration partielle
- d. PULL d’une configuration partielle
- e. Allier PUSH et PULL
- 1. Ressource personnalisée avec un fichier MOF
- a. Constitution d’une ressource basée sur unschéma MOF
- b. Aide à la création de ressources(xDSCResourceDesigner)
- c. Génération de la structure du module
- d. Écriture du fichier PSM1
- e. Déploiement de la ressource
- f. Vérification de la prise en compte de laressource
- a. Constitution d’une ressource basée sur uneclasse PowerShell
- b. PowerShell ISE et Visual Studio Code à larescousse
- c. Rédaction du fichier PSM1
- d. Génération et modification du manifeste
- e. Déploiement de la ressource
- 1. Forcer la réapplication d’une configuration
- 2. État d’une configuration DSC
- 3. Remise d’un système à son étatd’origine
- 4. Activation du mode Verbose
Gestion avancée des fichiers
- Introduction
- Gestion de l'archivage
- 1. Compress-Archive
- 2. Expand-Archive
- 3. Avant PowerShell 5.1
- a. Compression d’un dossier
- b. Décompression d’une archive
- 1. Fichiers
- 2. Dossiers
- 1. Mode basique
- 2. Mode avancé
Communication avec d'autres applications
- Introduction
- Les technologies COM
- Manipulation des objets COM
- 1. Recherche d’objets
- 2. Création/instanciation d’un objet
- 3. Utilisation d’une application COM
- a. Internet Explorer
- b. Microsoft Excel 2016
- c. Windows Script Host (WSH)
Gestion à distance avancée
- Introduction
- JEA (Just Enough Administration)
- 1. Pourquoi JEA ?
- 2. Prérequis
- 3. Rappel
- a. Une session, c’est quoi ?
- b. Configuration d’une session (PowerShell 4.0et versions antérieures)
- c. Ce qui change avec PowerShell 5.0
- 4. Capacité de rôle
- a. Préparation
- b. Fichier de capacité de rôle
- c. Intégration dans un module
- d. Fusion des capacités de rôle
- 5. Sessions
- a. Fichier de configuration de session
- b. Enregistrement d’une session
- c. Modification d’une session
- d. Utilisations des sessions
- 6. Audit
- a. Conformité des configurations de session
- b. Transcription
- 7. Configuration via DSC
- 8. JEA Helper Tools
- 1. Prérequis
- 2. Installation
- 3. Configuration
- a. Installation de l’application web
- b. Règles d’accès
Vers un monde plus open
- Introduction
- GitHub
- .NET Core
- 1. Limitations du framework
- 2. Prévisions d’évolutions
- PowerShell Core
- 1. Et Windows PowerShell??
- 2. À savoir
- PowerShell Core et Windows
- 1. Installation de PowerShell Core
- 2. Connexion distante vers un OS Windows
- 3. Windows PowerShell Compatibility
- PowerShell Core et Linux
- 1. Installation de PowerShell Core
- Nouvel environnement de développement (IDE)
- 1. Installation de Visual Studio Code
- a. Sous Windows
- b. Sous Linux
- 1. Installation de Visual Studio Code
- 2. Présentation de Visual Studio Code
- 3. Extension PowerShell
- 4. Complément d’extension
- 5. Changement de thème
- 1. Installation sous Windows
- 2. Installation sous Linux
- 3. Établissement de la connexion
- 1. Prérequis
- a. Installation du package OMI
- b. Installation du package DSC
Création d’interfaces graphiques
- Introduction
- 1. Pourquoi une interface graphique ?
- 2. Vers quoi se tourner ?
- Windows Forms
- 1. Présentation des Windows Forms
- 2. Réalisation d’une premièreForm
- 3. Ajout d’une action à une Form
- a. Événements
- b. Menus
- 4. Exemple de contrôle
- 5. Création de graphiques avec MS Chart Controls
- 1. Création d’une interface sur Visual Studio
- 2. Gestion des contrôles et de leurs événements
- 3. Création de graphiques évoluésavec LiveCharts
- 4. Changement de thème avec MahApps
Collecte de données de performances
- Pourquoi et comment collecter des données de performances ?
- Windows Performance Logs and Alerts (PLA)
- Jeu de commandes PowerShell
- 1. Listing des catégories de compteurs de performances
- 2. Détermination du bon compteur
- 3. Accès aux données de compteurs
- a. Contrôle du nombre de jeux de donnéeset de la fréquence
- b. Collecte des données sur des ordinateursdistants
- 4. Utilisation des jobs pour les tâches longues
- 5. Sauvegarde des données de performances surdisque
- a. Exportation des données de performances auformat binaire (BLG)
- b. Exportation des données de performances auformat Excel (CSV)
- 6. Manipulation d’un fichier d’export de données de performances
- 1. Création du fichier de configuration XML
- 2. Création et déploiement d’un ensemble de collecteurs de données
- a. Réalisation via logman
- b. Réalisation via l’objet COM PLA
- a. Interrogation des ensembles de collecteurs de donnéesexistants
- b. Démarrage d’un ensemble de collecteurs dedonnées
- c. Arrêt d’un ensemble de collecteurs de données
- d. Suppression d’un ensemble de collecteurs de données
Manipulation d’annuaires
- Introduction
- Module Active Directory
- 1. Prérequis
- 2. Recherche d’objets
- a. Recherche basée sur l’identité
- b. Filtre générique
- c. Filtre LDAP
- 3. Gestion des unités d’organisation
- a. Création d’une unité d’organisation
- b. Modification d’une unité d’organisation
- c. Suppression d’une unité d’organisation
- 4. Gestion des utilisateurs
- a. Affichage de la liste des utilisateurs et de leurspropriétés
- b. Création d’un utilisateur
- c. Modification du mot de passe et activation d’un objetutilisateur existant
- d. Modification d’un attribut
- e. Suppression d’un utilisateur
- 5. Gestion des groupes
- a. Affichage de la liste des groupes
- b. Création d’un groupe
- c. Gestion des membres
- d. Suppression d’un groupe
- 6. Utilisation du provider Active Directory
- a. Exploration du provider
- b. Déplacement d’objets
- c. Modification d’objets
- d. Utilisation des commandes Active Directory
- 1. Présentation d’ADSI
- 2. Confusion avec Active Directory
- 3. Encore utile aujourd’hui ?
- 4. Interaction avec une base locale SAM
- a. Généralités
- b. Groupes locaux
- c. Utilisateurs locaux
- a. Connexion à l’annuaire
- b. Connexion à un domaine avec un utilisateurdifférent
- c. Recherche d’objets
Nicolas BAUDIN
Dès ses études en informatique, Nicolas Baudin s'est rapidement passionné pour le langage PowerShell. Aujourd'hui ingénieur Système en environnement Microsoft, il n'a cessé de monter en compétence sur le sujet, ce qui lui permet de proposer une réelle expertise en la matière à ses clients, comme la Caisse nationale d'Assurance Maladie. Le livre qu'il propose est riche de toute son expérience du langage d'automatisation et d'administration.
En savoir plus