Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Les 22 & 23 novembre : Accès 100% GRATUIT à  
la Bibliothèque Numérique ENI. Je m'inscris !
  1. Supports de cours
  2. PowerShell - Fonctionnalités avancées (2e édition)

PowerShell Fonctionnalités avancées (2e édition)

Informations

Livraison possible dès le 25 novembre 2024
  • Version en ligne offerte pendant 1 an
  • Personnalisable
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Reliure spirale - 17 x 21 cm (Médian)
  • ISBN : 978-2-409-04265-2
  • EAN : 9782409042652
  • Ref. ENI : EIM2POWFA

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04266-9
  • EAN : 9782409042669
  • Ref. ENI : LNEIM2POWFA
Ce support sur les fonctionnalités avancées de PowerShell s’adresse aux administrateurs et ingénieurs système désireux d’approfondir leurs connaissances et d’aller plus loin avec ce langage de program­mation. Dans un premier temps, vous découvrez les différences entre Windows PowerShell (version 5.1) et PowerShell Core (version 7.3 au moment de l’écriture). Vous procédez ensuite à l’installation sur un système Linux et sur un système Windows avant de décou­vrir un nouvel environnement de...
Aperçu du livre papier
  • Niveau Confirmé à Expert
  • Nombre de pages 526 pages
  • Parution janvier 2024
  • Niveau Confirmé à Expert
  • Parution janvier 2024
Ce support sur les fonctionnalités avancées de PowerShell s’adresse aux administrateurs et ingénieurs système désireux d’approfondir leurs connaissances et d’aller plus loin avec ce langage de program­mation.

Dans un premier temps, vous découvrez les différences entre Windows PowerShell (version 5.1) et PowerShell Core (version 7.3 au moment de l’écriture). Vous procédez ensuite à l’installation sur un système Linux et sur un système Windows avant de décou­vrir un nouvel environnement de développement pour vos scripts et modules : Visual Studio Code.

Après un second chapitre sur les fonctions avancées et leur utili­sation, 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 personna­lisés et l’élaboration de classes d’objets, offrant ainsi de nouvelles possibilités d’écriture pour enrichir votre code. Vous étudiez égale­ment les notions de jobs, qui permettent une gestion asynchrone des tâches, et de workflows.

Ensuite, vous étudiez l’énorme potentiel de la fonctionnalité Power­Shell DSC pour la gestion d’une infrastructure. Cette fonctionnalité permet de simplifier la configuration d’un nombre important de sys­tèmes en un temps record, ainsi qu’une détection de toute dérive de cette configuration. Vous pourrez ainsi procéder de manière proac­tive à sa correction avant l’apparition d’incidents.

Vous verrez les fonctionnalités de la version 5.1 de Windows Power­Shell en termes de gestion avancée des fichiers (gestion de l’archi­vage, lien symbolique, fichiers temporaires…) ainsi que les atouts des technologies COM pour la communication avec d’autres appli­cations. Vous explorez une façon d’améliorer la sécurité des sys­tèmes administrés à distance grâce à Just Enough Administration (JEA) et découvrez comment mettre en place PowerShell Web Access pour rendre accessible une console PowerShell depuis un navigateur web.

Pour finir, vous étudiez la création d’interfaces graphiques, la col­lecte des données de performances ainsi que la manipulation d’annuaires Active Directory.

Téléchargements

Avant-propos
  1. À propos de PowerShell
  2. À propos du livre
Introduction
  1. Pourquoi automatiser??
  2. Infrastructure as Code et cloud
  3. L'entrée dans l'open source
  4. Le poids d'une communauté
  5. À propos de l’auteur
PowerShell et la gestion des versions
  1. Introduction
    1. 1. Les versions en détail
    2. 2. GitHub
    3. 3. .NET Core
  2. Installation de PowerShell Core
    1. 1. Téléchargement des sources depuisGitHub
    2. 2. Installation sous Windows
    3. 3. Installation sous Linux
  3. Gestion des mises à jour
    1. 1. Sous Windows
    2. 2. Sous Linux
  4. Les nouveautés, dépréciation et limitations de PowerShell 7
    1. 1. Nouveautés
    2. 2. Dépréciation
    3. 3. Limitations
  5. Développer en PowerShell avec Visual Studio Code
    1. 1. Installation de Visual Studio Code
    2. 2. L’interface de Visual Studio Code
    3. 3. Extension PowerShell
    4. 4. Complément d’extension
    5. 5. Le débogueur
    6. 6. Utilisation de Git
  6. Scripter en fonction de l'environnement
  7. Fonctionnalités expérimentales
Fonctions avancées
  1. Introduction
  2. Structure
    1. 1. Param
      1. a. Attribut Parameter
      2. b. Attributs
      3. c. Attributs de validation
    2. 2. CmdletBinding()
    3. 3. Type de sortie (OutputType)
    4. 4. Begin/Process/End/Clean
  3. Mise en situation
    1. 1. Jeux de paramètres
    2. 2. Pipeline
      1. a. Déterminer les commandes qui acceptent lepipeline
      2. b. Quand une commande n’accepte pas le pipeline
      3. c. L’implémentation du pipeline
      4. d. ValueFromPipeline
      5. e. ValueFromPipelineByPropertyName
  4. Paramètre Dynamique
    1. 1. Déclaration
    2. 2. Nouvelle collection d’attributs
    3. 3. Définition et publication du paramètredynamique
    4. 4. En résumé
    5. 5. Aller plus loin
      1. a. Logique d’affichage
      2. b. Ajout d’attribut de validation
    6. 6. Limitations et cas d’utilisation
  5. ArgumentCompleter et Dynamic ValidateSet
    1. 1. ArgumentCompletions
    2. 2. ArgumentCompleter
      1. a. Structure
      2. b. Ajout de la saisie utilisateur
      3. c. Utilisation de PSBoundParameter
      4. d. Utiliser une fonction
    3. 3. Dynamic ValidateSet
  6. Register-ArgumentCompleter
  7. Splatting
Création de modules
  1. Introduction
  2. Module dynamique
  3. Module binaire
  4. Module script
    1. 1. Conversion d’un script en module
    2. 2. Convention de nommage
    3. 3. Internationalisation et partage du module
      1. a. Structure et nommage des dossiers
      2. b. Format des données et contenu des fichiers
      3. c. La commande Import-LocalizedData
      4. d. Gestion de l’erreur en cas de fichier absent
      5. e. Section Data
  5. Manifeste de module
    1. 1. Création du manifeste
    2. 2. Gestion des versions
    3. 3. Gestion des versions du framework .NET
    4. 4. Gestion du contenu additionnel
    5. 5. Test de conformité d’un manifeste
  6. Exportation des membres d'un module
    1. 1. La commande Export-ModuleMember
    2. 2. Comportement particulier
  7. Structure multifichier
  8. Passer au Build avec Sampler
    1. 1. Création d’un module simple
    2. 2. Ajout d’une fonction
    3. 3. Build du module
    4. 4. Pour la suite
Gestion des modules et des packages
  1. Introduction
  2. Module PackageManagement
    1. 1. Ajout du premier fournisseur
    2. 2. Recherche d’un package
    3. 3. Installation d’un package
      1. a. Depuis Chocolatey
      2. b. Depuis un MSI ou en MSU
    4. 4. Listing des packages installés
    5. 5. Mise à jour d’un package
    6. 6. Suppression d’un package
  3. Module PowerShellGet
    1. 1. Mise à jour de PowerShellGet pour le supportdu TLS
    2. 2. Recherche d’une ressource
      1. a. Versioning
      2. b. Contenu d’une ressource
    3. 3. Installation d’une ressource
    4. 4. Mise à jour d’une ressource
    5. 5. Suppression d’une ressource
  4. Création d’un dépôt
    1. 1. Via un simple partage réseau
      1. a. PackageManagement
      2. b. PowerShellGet
      3. c. Organisation du partage
    2. 2. Via un site web
      1. a. Installation
      2. b. Création utilisateur
      3. c. Création du premier feed (dépôt)
      4. d. Enregistrement en tant que source et publication d’unmodule
Objets personnalisés et types standards
  1. Introduction
  2. Objets personnalisés
    1. 1. Création d’un objet personnalisé
    2. 2. Ajout d’un membre
      1. a. Ajout d’une propriété
      2. b. Ajout d’une méthode
    3. 3. Création d’une collection d’objets
    4. 4. Transformation d’un objet existant en objet personnalisé
  3. Types standards
    1. 1. Ajout de membre via un fichier .types.ps1xml
      1. a. Fichier .types.ps1xml
      2. b. Ajout d’une propriété
      3. c. Ajout d’une méthode
    2. 2. Ajout de membre seulement avec Update-TypeData
      1. a. Ajout d’une propriété
      2. b. Ajout d’une méthode
    3. 3. Pour aller plus loin
  4. Formatage
    1. 1. Fichiers de formatage par défaut
    2. 2. Objet personnalisé
      1. a. Personnalisation du type
      2. b. Application d’un fichier de formatage
    3. 3. Type standard
      1. a. Modification du fichier de formatage par défaut
      2. b. Application du fichier de formatage
Classes
  1. Introduction
  2. Création d'une classe
    1. 1. Mot-clé Class
    2. 2. Propriété
    3. 3. Méthode
    4. 4. Constructeur
    5. 5. Visibilité
  3. Surcharge de méthode (overload)
  4. Statique
  5. Portée des variables
    1. 1. Propriété
    2. 2. Méthode
      1. a. Globale
      2. b. Script
  6. Héritage
  7. Création enum
    1. 1. Mot-clé enum
    2. 2. Manipulation des valeurs
  8. Formatage
  9. Intégration dans un module
  10. Mot-clé Using
  11. Utilisation des classes sur la validation de paramètre
    1. 1. ValidateSet Dynamique
    2. 2. ArgumentCompleter
Jobs et parallélisation
  1. Introduction
  2. Travaux en arrière-plan locaux (BackgroundJob)
    1. 1. Création d’un premier job
    2. 2. Récupération du résultatd’un job
    3. 3. Arrêt d’un job
    4. 4. Suppression d’un job
    5. 5. Erreurs et jobs
  3. Travaux en arrière-plan basés sur les threads (ThreadJob)
    1. 1. Utilisation des ThreadJob
    2. 2. Comparatif de performance avec les BackgroundJob
  4. Travaux en arrière-plan distants (RemoteJob)
    1. 1. Lancement d’un job distant
    2. 2. Multiples destinations
    3. 3. Attendre la fin de l’exécution des jobs
  5. Travaux planifiés (PSScheduledJob)
    1. 1. Création d’un travail planifié
    2. 2. Mise en place d’un déclencheur (trigger)
    3. 3. Modification des options
  6. Workflows (PSWorkflowJob)
  7. ForEach-Object
  8. PowerShell API
Workflows
  1. Introduction
    1. 1. Qu’est-ce qu’un workflow ?
    2. 2. Comment fonctionne-t-il ?
  2. Création d'un workflow
    1. 1. Mot-clé workflow
    2. 2. Gestion des paramètres
      1. a. Paramètres communs
      2. b. Bloc param
      3. c. Paramètres propres aux workflows
    3. 3. Exécution à travers une sessiondistante
    4. 4. Exécution en tant que job
  3. Restrictions
    1. 1. Restrictions de commande
    2. 2. Restrictions sur les objets
    3. 3. Restrictions de langage
    4. 4. Mot-clé InlineScript
      1. a. Syntaxe
      2. b. Portée des variables
  4. Exécution en parallèle
    1. 1. Bloc parallel
    2. 2. Bloc sequence
    3. 3. Mot-clé Foreach
  5. Points de synchronisation
  6. Suspension d’un workflow
  7. Relance d'un workflow (suite à une suspension ou à un crash)
  8. Observation du contenu d'un workflow
  9. Intégration dans un module
  10. Workflow : pour qui ? pour quoi ?
Desired State Configuration (DSC)
  1. Introduction
  2. Versions et plateformes supportées par DSC
  3. Vue d'ensemble de la solution
    1. 1. Terminologie
    2. 2. Considérations générales
    3. 3. Deux modes : PUSH et PULL
      1. a. PUSH
      2. b. PULL
    4. 4. Configuration
    5. 5. Présentation des ressources DSC
    6. 6. Gestionnaire de configuration local (LCM)
  4. Ressources DSC
    1. 1. Lister des ressources présentes
    2. 2. Ressources intégrées
      1. a. Utilisation générale d’une ressource
      2. b. Cas particulier avec la ressource Script
    3. 3. Extension des possibilités avec la DSC Community
      1. a. Suivi des nouveautés
      2. b. Interrogation de la PowerShell Gallery
      3. c. Installation depuis la PowerShell Gallery
      4. d. Politique de nommage des ressources DSC
      5. e. Ressources personnalisées
      6. f. Utilisation des ressources
  5. Création d’une première configuration
    1. 1. Création rapide avec ISE
    2. 2. Application d’une configuration
    3. 3. Utilisation de paramètres
    4. 4. Importation d’une ressource
    5. 5. Données de configuration (Configuration Data)
      1. a. Définition d’une configuration environnementale
      2. b. Variables spéciales $ConfigurationData, $AllNodes, $Nodes
      3. c. Prise en compte de la configuration environnementale
      4. d. Résumé
  6. Configuration du LCM
    1. 1. Configuration courante
    2. 2. Configuration du LCM
    3. 3. Application d’une métaconfiguration
  7. Fichiers MOF
    1. 1. Fichier MOF de configuration
    2. 2. Fichier MOF de métaconfiguration
  8. Sécurité et contexte d'exécution (credentials)
  9. Sécurisation des credentials dans une configuration
    1. 1. Prérequis
    2. 2. Étapes de réalisation
    3. 3. Données de configuration (Configuration Data)
    4. 4. Configuration
      1. a. Écriture des configurations
      2. b. Génération des fichiers MOF
      3. c. Configuration du LCM
      4. d. Application de la configuration
    5. 5. Obtenir l’empreinte d’un certificat de chiffrement
  10. Configuration d'un PULL Server
    1. 1. Évolution du PULL Server
    2. 2. PULL Server sous partage SMB
    3. 3. PULL Server Web
      1. a. Prérequis
      2. b. Écriture de la configuration du PULL Server
      3. c. Deux modes de configuration pour le LCM
      4. d. Configuration du LCM en fonction de l’ID
      5. e. Configuration du LCM en fonction du nom
      6. f. Forcer une mise à jour de configuration
    4. 4. Déploiement des ressources
  11. Test de conformité d'un nœud
  12. Application de la dernière bonne configuration connue
  13. Principe avancé
    1. 1. Ressource composite
    2. 2. Configuration partielle
      1. a. Conception des configurations partielles
      2. b. configuration du LCM
      3. c. PUSH d’une configuration partielle
      4. d. PULL d’une configuration partielle
      5. e. Allier PUSH et PULL
  14. Écriture d'une ressource personnalisée
    1. 1. Ressource personnalisée avec un fichier MOF
      1. a. Constitution d’une ressource basée sur unschéma MOF
      2. b. Aide à la création de ressources(xDSCResourceDesigner)
      3. c. Génération de la structure du module
      4. d. Écriture du fichier PSM1
      5. e. Déploiement de la ressource
      6. f. Vérification de la prise en compte de laressource
    2. 2. Ressource personnalisée avec les classesPowerShell
      1. a. Constitution d’une ressource basée sur uneclasse PowerShell
      2. b. PowerShell ISE à la rescousse
      3. c. Rédaction du fichier PSM1
      4. d. Génération et modification du manifeste
      5. e. Déploiement de la ressource
    3. 3. Utilisation de la ressource personnaliséedans une configuration
  15. DSC sous Linux
    1. 1. Prérequis
      1. a. Installation du package OMI
      2. b. Installation du package DSC
    2. 2. Ressources DSC pour Linux
    3. 3. Mise en place d’une session CIM
    4. 4. Création de la configuration
    5. 5. Application de la configuration
    6. 6. Récupération de la configurationdu LCM
  16. Maintenance et dépannage
    1. 1. Forcer la réapplication d’une configuration
    2. 2. État d’une configuration DSC
    3. 3. Remise d’un système à son étatd’origine
    4. 4. Activation du mode Verbose
Gestion avancée des fichiers
  1. Introduction
  2. Gestion de l'archivage
    1. 1. Compress-Archive
    2. 2. Expand-Archive
    3. 3. Avant PowerShell 5.1
      1. a. Compression d’un dossier
      2. b. Décompression d’une archive
  3. Lien symbolique
    1. 1. Fichiers
    2. 2. Dossiers
  4. Fichier temporaire
  5. Édition de fichiers distants
  6. Copie de fichiers à travers une session PowerShell
  7. Conversion d’un fichier plat en objet
    1. 1. Mode basique
    2. 2. Mode avancé
Communication avec d'autres applications
  1. Introduction
  2. Les technologies COM
  3. Manipulation des objets COM
    1. 1. Recherche d’objets
    2. 2. Création/instanciation d’un objet
    3. 3. Utilisation d’une application COM
      1. a. Internet Explorer
      2. b. Microsoft Excel 2016
      3. c. Windows Script Host (WSH)
Gestion à distance avancée
  1. Introduction
  2. JEA (Just Enough Administration)
    1. 1. Pourquoi JEA ?
    2. 2. Prérequis
    3. 3. Rappel
      1. a. Une session, c’est quoi ?
      2. b. Configuration d’une session (PowerShell 4.0et versions antérieures)
      3. c. Ce qui change avec PowerShell 5.0
    4. 4. Capacité de rôle
      1. a. Préparation
      2. b. Fichier de capacité de rôle
      3. c. Intégration dans un module
      4. d. Fusion des capacités de rôle
    5. 5. Sessions
      1. a. Fichier de configuration de session
      2. b. Enregistrement d’une session
      3. c. Modification d’une session
      4. d. Utilisation des sessions
    6. 6. Audit
      1. a. Conformité des configurations de session
      2. b. Transcription
    7. 7. Configuration via DSC
  3. PowerShell Web Access
    1. 1. Prérequis
    2. 2. Installation
    3. 3. Configuration
      1. a. Installation de l’application web
      2. b. Règles d’accès
    4. 4. Utilisations
    5. 5. Déconnexion d’une session
    6. 6. Cas d’usage
    7. 7. Limitations et futur de la fonctionnalité
  4. Session distante avec SSH
    1. 1. Installation sous Windows
    2. 2. Installation sous Linux
    3. 3. Établissement de la connexion
Création d’interfaces graphiques
  1. Introduction
    1. 1. Pourquoi une interface graphique ?
    2. 2. Vers quoi se tourner ?
  2. Windows Forms
    1. 1. Présentation des Windows Forms
    2. 2. Réalisation d’une premièreForm
    3. 3. Ajout d’une action à une Form
      1. a. Événements
      2. b. Menus
    4. 4. Exemple de contrôle
    5. 5. Création de graphiques avec MS Chart Controls
  3. Windows Presentation Foundation
    1. 1. Création d’une interface sur Visual Studio
    2. 2. Gestion des contrôles et de leurs événements
    3. 3. Création de graphiques évoluésavec LiveCharts
    4. 4. Changement de thème avec MahApps
  4. Mise à jour d’une GUI via des runspaces
Collecte de données de performances
  1. Pourquoi et comment collecter des données  de performances??
  2. Windows Performance Logs and Alerts (PLA)
  3. Jeu de commandes PowerShell
    1. 1. Listing des catégories de compteurs de performances
    2. 2. Détermination du bon compteur
    3. 3. Accès aux données de compteurs
      1. a. Contrôle du nombre de jeux de donnéeset de la fréquence
      2. b. Collecte des données sur des ordinateursdistants
    4. 4. Utilisation des jobs pour les tâches longues
    5. 5. Sauvegarde des données de performances surdisque
      1. a. Exportation des données de performances auformat binaire (BLG)
      2. b. Exportation des données de performances auformat Excel (CSV)
    6. 6. Manipulation d’un fichier d’export de donnéesde performances
  4. Collecte de données à l'échelle de l'entreprise
    1. 1. Création du fichier de configuration XML
    2. 2. Création et déploiement d’un ensemblede collecteurs de données
      1. a. Réalisation via logman
      2. b. Réalisation via l’objet COM PLA
    3. 3. Gestion des ensembles de collecteurs de données
      1. a. Interrogation des ensembles de collecteurs de donnéesexistants
      2. b. Démarrage d’un ensemble de collecteurs dedonnées
      3. c. Arrêt d’un ensemble de collecteurs de données
      4. d. Suppression d’un ensemble de collecteurs de données
Manipulation d’annuaires
  1. Introduction
  2. Module Active Directory
    1. 1. Prérequis
    2. 2. Recherche d’objets
      1. a. Recherche basée sur l’identité
      2. b. Filtre générique
      3. c. Filtre LDAP
    3. 3. Gestion des unités d’organisation
      1. a. Création d’une unité d’organisation
      2. b. Modification d’une unité d’organisation
      3. c. Suppression d’une unité d’organisation
    4. 4. Gestion des utilisateurs
      1. a. Affichage de la liste des utilisateurs et de leurspropriétés
      2. b. Création d’un utilisateur
      3. c. Modification du mot de passe et activation d’un objetutilisateur existant
      4. d. Modification d’un attribut
      5. e. Suppression d’un utilisateur
    5. 5. Gestion des groupes
      1. a. Affichage de la liste des groupes
      2. b. Création d’un groupe
      3. c. Gestion des membres
      4. d. Suppression d’un groupe
    6. 6. Utilisation du provider Active Directory
      1. a. Exploration du provider
      2. b. Déplacement d’objets
      3. c. Modification d’objets
      4. d. Utilisation des commandes Active Directory
      5. e. Création d’un PSDrive vers un autredomaine
  3. ADSI
    1. 1. Présentation d’ADSI
    2. 2. Confusion avec Active Directory
    3. 3. Encore utile aujourd’hui ?
    4. 4. Interaction avec une base locale SAM
      1. a. Généralités
      2. b. Groupes locaux
      3. c. Utilisateurs locaux
    5. 5. Active Directory Domain Services
      1. a. Connexion à l’annuaire
      2. b. Connexion à un domaine avec un utilisateurdifférent
      3. c. Recherche d’objets
  4. ADSIPS
Auteur : Nicolas BAUDIN

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. Fort de cette expérience, il propose aujourd’hui à travers son statut de freelance des prestations pour faciliter l’automatisation de tâches à travers PowerShell, telles que des interventions chez des clients ou l’animation de formations. À titre personnel, il fait également partie de la DSC Community au titre de mainteneur de ressource DSC et anime et aide la communauté française sur le serveur Discord PowerShell. 
En savoir plus

Nos nouveautés

voir plus