1. Supports de cours
  2. PowerShell - Fonctionnalités avancées (Nouvelle édition)

PowerShell Fonctionnalités avancées (Nouvelle édition)

  • En stock
  • Expédié en 24h00
  • Personnalisable
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

    Présentation

    Ce support 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

    Table des matières

    • 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é
    • Fonctions avancées
      • 1. Introduction
      • 2. Structure
        • 2.1 CmdletBinding()
        • 2.2 Param
          • 2.2.1 Parameter
          • 2.2.2 Attribut de validation des paramètres
        • 2.3 Begin/Process/End
      • 3. Utilisation
        • 3.1 Pipeline
          • 3.1.1 ValueFromPipeline
          • 3.1.2 ValueFromPipelineByPropertyName
        • 3.2 Jeux de paramètres
      • 4. Splatting
    • Création de modules
      • 1. Introduction
      • 2. Module script
        • 2.1 Conversion d'un script en module
        • 2.2 Convention de nommage
        • 2.3 Internationalisation et partage du module
      • 3. Module dynamique
      • 4. Module binaire
      • 5. Manifeste de module
        • 5.1 Création du manifeste
        • 5.2 Gestion des versions
        • 5.3 Gestion des dépendances
        • 5.4 Gestion du contenu additionnel
        • 5.5 Test de conformité d'un manifeste
      • 6. Exportation des membres d'un module
        • 6.1 La commande Export-ModuleMember
        • 6.2 Comportement particulier
      • 7. Structuration d’un module
    • Gestion des modules et des packages
      • 1. Introduction
      • 2. Module PackageManagement
        • 2.1 Ajout du premier fournisseur
        • 2.2 Recherche d’un package
        • 2.3 Installation d’un package
          • 2.3.1 Depuis Chocolatey
          • 2.3.2 Depuis un MSI ou en MSU
        • 2.4 Listing des packages installés
        • 2.5 Mise à jour d’un package
        • 2.6 Suppression d’un package
      • 3. Module PowerShellGet
        • 3.1 Recherche d’une ressource
          • 3.1.1 Versionning
          • 3.1.2 Contenu d'une ressource
        • 3.2 Installation d’une ressource
        • 3.3 Mise à jour d’une ressource
        • 3.4 Suppression d’une ressource
      • 4. Création d’un dépôt
        • 4.1 Via un simple partage réseau
          • 4.1.1 PackageManagement
          • 4.1.2 PowerShellGet
          • 4.1.3 Organisation du partage
        • 4.2 Via un site web
          • 4.2.1 Installation
          • 4.2.2 Création utilisateur
          • 4.2.3 Création du premier feed (dépôt)
          • 4.2.4 Enregistrement en tant que source et publication d'un module
    • Objets personnalisés et types standards
      • 1. Introduction
      • 2. Objets personnalisés
        • 2.1 Création d'un objet personnalisé
        • 2.2 Ajout d'un membre
          • 2.2.1 Ajout d'une propriété
          • 2.2.2 Ajout d'une méthode
        • 2.3 Création d'une collection d'objets
        • 2.4 Transformation d'un objet existant en objet personnalisé
      • 3. Types standards
        • 3.1 Ajout de membre via un fichier .types.ps1xml
          • 3.1.1 Fichier .types.ps1xml
          • 3.1.2 Ajout d'une propriété
          • 3.1.3 Ajout d'une méthode
        • 3.2 Ajout de membre seulement avec Update-TypeData
          • 3.2.1 Ajout d'une propriété
          • 3.2.2 Ajout d'une méthode
        • 3.3 Pour aller plus loin
      • 4. Formatage
        • 4.1 Fichiers de formatage par défaut
        • 4.2 Objet personnalisé
          • 4.2.1 Personnalisation du type
          • 4.2.2 Application d'un fichier de formatage
        • 4.3 Type standard
          • 4.3.1 Modification du fichier de formatage par défaut
          • 4.3.2 Application du fichier de formatage
    • Classes
      • 1. Introduction
      • 2. Création d'une classe
        • 2.1 Mot-clé Class
        • 2.2 Propriété
        • 2.3 Méthode
        • 2.4 Constructeur
        • 2.5 Visibilité
      • 3. Surcharge de méthode (overload)
      • 4. Statique
      • 5. Portée des variables
        • 5.1 Propriété
        • 5.2 Méthode
          • 5.2.1 Globale
          • 5.2.2 Script
      • 6. Héritage
      • 7. Création enum
        • 7.1 Mot-clé enum
        • 7.2 Manipulation des valeurs
      • 8. Formatage
      • 9. Intégration dans un module
    • Jobs et parallélisation
      • 1. Introduction
      • 2. Travaux en arrière-plan locaux (BackgroundJob)
        • 2.1 Création d’un premier job
        • 2.2 Récupération du résultat d'un job
        • 2.3 Arrêt d'un job
        • 2.4 Suppression d'un job
        • 2.5 Erreurs et jobs
      • 3. Travaux en arrière-plan distants (RemoteJob)
        • 3.1 Lancement d’un job distant
        • 3.2 Multiples destinations
        • 3.3 Attendre la fin de l'exécution des jobs
      • 4. Travaux planifiés (PSScheduledJob)
        • 4.1 Création d'un travail planifié
        • 4.2 Mise en place d'un déclencheur (trigger)
        • 4.3 Modification des options
      • 5. Workflows (PSWorkflowJob)
      • 6. PowerShell API
    • Workflows
      • 1. Introduction
        • 1.1 Qu'est-ce qu'un workflow ?
        • 1.2 Comment fonctionne-t-il ?
      • 2. Création d'un workflow
        • 2.1 Mot-clé workflow
        • 2.2 Gestion des paramètres
          • 2.2.1 Paramètres communs
          • 2.2.2 Bloc param
          • 2.2.3 Paramètres propres aux workflows
        • 2.3 Exécution à travers une session distante
        • 2.4 Exécution en tant que job
      • 3. Restrictions
        • 3.1 Restrictions de commande
        • 3.2 Restrictions sur les objets
        • 3.3 Restrictions de langage
        • 3.4 Mot-clé InlineScript
          • 3.4.1 Syntaxe
          • 3.4.2 Portée des variables
      • 4. Exécution en parallèle
        • 4.1 Bloc parallel
        • 4.2 Bloc sequence
        • 4.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. Plateformes supportées par DSC
      • 3. Vue d'ensemble de la solution
        • 3.1 Terminologie
        • 3.2 Considérations générales
        • 3.3 Deux modes : PUSH et PULL
          • 3.3.1 PUSH
          • 3.3.2 PULL
        • 3.4 Configurations
        • 3.5 Présentation des ressources DSC
        • 3.6 Gestionnaire de configuration local (LCM)
      • 4. Ressources DSC
        • 4.1 Lister des ressources présentes
        • 4.2 Ressources intégrées
          • 4.2.1 Utilisation générale d'une ressource
          • 4.2.2 Cas particulier avec la ressource Script
        • 4.3 Extension des possibilités avec le Resource Kit
          • 4.3.1 Suivi des nouvelles versions
          • 4.3.2 Interrogation de la PowerShell Gallery
          • 4.3.3 Installation depuis la PowerShell Gallery
          • 4.3.4 Politique de nommage des ressources DSC
          • 4.3.5 Ressources personnalisées
          • 4.3.6 Utilisation des ressources
      • 5. Création d’une première configuration
        • 5.1 Création rapide avec ISE (ou Visual Studio Code)
        • 5.2 Application d'une configuration
        • 5.3 Utilisation de paramètres
        • 5.4 Importation d'une ressource
        • 5.5 Données de configuration (Configuration Data)
          • 5.5.1 Définition d'une configuration environnementale
          • 5.5.2 Variables spéciales $ConfigurationData, $AllNodes, $Nodes
          • 5.5.3 Prise en compte de la configuration environnementale
          • 5.5.4 Résumé
      • 6. Configuration du LCM
        • 6.1 Configuration courante
        • 6.2 Configuration du LCM sous PowerShell V4.0
        • 6.3 Configuration du LCM sous PowerShell V5.0
        • 6.4 Application d’une métaconfiguration
      • 7. Fichiers MOF
        • 7.1 Fichier MOF de configuration
        • 7.2 Fichier MOF de métaconfiguration
      • 8. Sécurité et contexte d'exécution (credentials)
      • 9. Sécurisation des credentials dans une configuration
        • 9.1 Prérequis
        • 9.2 Étapes de réalisation
        • 9.3 Données de configuration (Configuration Data)
        • 9.4 Configurations
          • 9.4.1 Écriture des configurations
          • 9.4.2 Génération des fichiers MOF
          • 9.4.3 Configuration du LCM
          • 9.4.4 Application de la configuration
        • 9.5 Obtenir l'empreinte d'un certificat de chiffrement
      • 10. Configuration d'un PULL Server
        • 10.1 Évolution du PULL Server
        • 10.2 PULL Server sous partage SMB
        • 10.3 PULL Server Web
          • 10.3.1 Prérequis
          • 10.3.2 Écriture de la configuration du PULL Server
          • 10.3.3 Deux modes de configuration pour le LCM
          • 10.3.4 Configuration du LCM en fonction de l'ID
          • 10.3.5 Configuration du LCM en fonction du nom
          • 10.3.6 Forcer une mise à jour de configuration
        • 10.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é
        • 13.1 Ressource composite
        • 13.2 Configuration partielle
          • 13.2.1 Conception des configurations partielles
          • 13.2.2 configuration du LCM
          • 13.2.3 PUSH d’une configuration partielle
          • 13.2.4 PULL d’une configuration partielle
          • 13.2.5 Allier PUSH et PULL
      • 14. Écriture d'une ressource personnalisée
        • 14.1 Ressource personnalisée avec un fichier MOF
          • 14.1.1 Constitution d'une ressource basée sur un schéma MOF
          • 14.1.2 Aide à la création de ressources (xDSCResourceDesigner)
          • 14.1.3 Génération de la structure du module
          • 14.1.4 Écriture du fichier PSM1
          • 14.1.5 Déploiement de la ressource
          • 14.1.6 Vérification de la prise en compte de la ressource
        • 14.2 Ressource personnalisée avec les classes PowerShell
          • 14.2.1 Constitution d'une ressource basée sur une classe PowerShell
          • 14.2.2 PowerShell ISE et Visual Studio Code à la rescousse
          • 14.2.3 Rédaction du fichier PSM1
          • 14.2.4 Génération et modification du manifeste
          • 14.2.5 Déploiement de la ressource
        • 14.3 Utilisation de la ressource personnalisée dans une configuration
      • 15. Maintenance et dépannage
        • 15.1 Forcer la réapplication d'une configuration
        • 15.2 État d'une configuration DSC
        • 15.3 Remise d’un système à son état d'origine
        • 15.4 Activation du mode Verbose
    • Gestion avancée des fichiers
      • 1. Introduction
      • 2. Gestion de l'archivage
        • 2.1 Compress-Archive
        • 2.2 Expand-Archive
        • 2.3 Avant PowerShell 5.1
          • 2.3.1 Compression d'un dossier
          • 2.3.2 Décompression d'une archive
      • 3. Lien symbolique
        • 3.1 Fichiers
        • 3.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
        • 7.1 Mode basique
        • 7.2 Mode avancé
    • Communication avec d'autres applications
      • 1. Introduction
      • 2. Les technologies COM
      • 3. Manipulation des objets COM
        • 3.1 Recherche d'objets
        • 3.2 Création/instanciation d'un objet
        • 3.3 Utilisation d’une application COM
          • 3.3.1 Internet Explorer
          • 3.3.2 Microsoft Excel 2016
          • 3.3.3 Windows Script Host (WSH)
    • Gestion à distance avancée
      • 1. Introduction
      • 2. JEA (Just Enough Administration)
        • 2.1 Pourquoi JEA ?
        • 2.2 Prérequis
        • 2.3 Rappel
          • 2.3.1 Une session, c'est quoi ?
          • 2.3.2 Configuration d’une session (PowerShell 4.0 et versions antérieures)
          • 2.3.3 Ce qui change avec PowerShell 5.0
        • 2.4 Capacité de rôle
          • 2.4.1 Préparation
          • 2.4.2 Fichier de capacité de rôle
          • 2.4.3 Intégration dans un module
          • 2.4.4 Fusion des capacités de rôle
        • 2.5 Sessions
          • 2.5.1 Fichier de configuration de session
          • 2.5.2 Enregistrement d’une session
          • 2.5.3 Modification d’une session
          • 2.5.4 Utilisations des sessions
        • 2.6 Audit
          • 2.6.1 Conformité des configurations de session
          • 2.6.2 Transcription
        • 2.7 Configuration via DSC
        • 2.8 JEA Helper Tools
      • 3. PowerShell Web Access
        • 3.1 Prérequis
        • 3.2 Installation
        • 3.3 Configuration
          • 3.3.1 Installation de l'application web
          • 3.3.2 Règles d'accès
        • 3.4 Utilisations
        • 3.5 Déconnexion d’une session
        • 3.6 Cas d'usage
        • 3.7 Limitations et futur de la fonctionnalité
    • Vers un monde plus open
      • 1. Introduction
      • 2. GitHub
      • 3. .NET Core
        • 3.1 Limitations du framework
        • 3.2 Prévisions d'évolutions
      • 4. PowerShell Core
        • 4.1 Et Windows PowerShell ?
        • 4.2 À savoir
      • 5. PowerShell Core et Windows
        • 5.1 Installation de PowerShell Core
        • 5.2 Connexion distante vers un OS Windows
        • 5.3 Windows PowerShell Compatibility
      • 6. PowerShell Core et Linux
        • 6.1 Installation de PowerShell Core
      • 7. Nouvel environnement de développement (IDE)
        • 7.1 Installation de Visual Studio Code
          • 7.1.1 Sous Windows
          • 7.1.2 Sous Linux
        • 7.2 Présentation de Visual Studio Code
        • 7.3 Extension PowerShell
        • 7.4 Complément d'extension
        • 7.5 Changement de thème
      • 8. Scripter en fonction de l'environnement
      • 9. Session distante avec SSH
        • 9.1 Installation sous Windows
        • 9.2 Installation sous Linux
        • 9.3 Établissement de la connexion
      • 10. DSC sous Linux
        • 10.1 Prérequis
          • 10.1.1 Installation du package OMI
          • 10.1.2 Installation du package DSC
        • 10.2 Ressources DSC pour Linux
        • 10.3 Mise en place d'une session CIM
        • 10.4 Création de la configuration
        • 10.5 Application de la configuration
        • 10.6 Récupération de la configuration du LCM
    • Création d’interfaces graphiques
      • 1. Introduction
        • 1.1 Pourquoi une interface graphique ?
        • 1.2 Vers quoi se tourner ?
      • 2. Windows Forms
        • 2.1 Présentation des Windows Forms
        • 2.2 Réalisation d’une première Form
        • 2.3 Ajout d’une action à une Form
          • 2.3.1 Événements
          • 2.3.2 Menus
        • 2.4 Exemple de contrôle
        • 2.5 Création de graphiques avec MS Chart Controls
      • 3. Windows Presentation Foundation
        • 3.1 Création d'une interface sur Visual Studio
        • 3.2 Gestion des contrôles et de leurs événements
        • 3.3 Création de graphiques évolués avec LiveCharts
        • 3.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
        • 3.1 Listing des catégories de compteurs de performances
        • 3.2 Détermination du bon compteur
        • 3.3 Accès aux données de compteurs
          • 3.3.1 Contrôle du nombre de jeux de données et de la fréquence
          • 3.3.2 Collecte des données sur des ordinateurs distants
        • 3.4 Utilisation des jobs pour les tâches longues
        • 3.5 Sauvegarde des données de performances sur disque
          • 3.5.1 Exportation des données de performances au format binaire (BLG)
          • 3.5.2 Exportation des données de performances au format Excel (CSV)
        • 3.6 Manipulation d'un fichier d'export de données de performances
      • 4. Collecte de données à l'échelle de l'entreprise
        • 4.1 Création du fichier de configuration XML
        • 4.2 Création et déploiement d'un ensemble de collecteurs de données
          • 4.2.1 Réalisation via logman
          • 4.2.2 Réalisation via l'objet COM PLA
        • 4.3 Gestion des ensembles de collecteurs de données
          • 4.3.1 Interrogation des ensembles de collecteurs de données existants
          • 4.3.2 Démarrage d'un ensemble de collecteurs de données
          • 4.3.3 Arrêt d'un ensemble de collecteurs de données
          • 4.3.4 Suppression d'un ensemble de collecteurs de données
    • Manipulation d’annuaires
      • 1. Introduction
      • 2. Module Active Directory
        • 2.1 Prérequis
        • 2.2 Recherche d'objets
          • 2.2.1 Recherche basée sur l'identité
          • 2.2.2 Filtre générique
          • 2.2.3 Filtre LDAP
        • 2.3 Gestion des unités d'organisation
          • 2.3.1 Création d'une unité d’organisation
          • 2.3.2 Modification d'une unité d’organisation
          • 2.3.3 Suppression d'une unité d’organisation
        • 2.4 Gestion des utilisateurs
          • 2.4.1 Affichage de la liste des utilisateurs et de leurs propriétés
          • 2.4.2 Création d'un utilisateur
          • 2.4.3 Modification du mot de passe et activation d'un objet utilisateur existant
          • 2.4.4 Modification d'un attribut
          • 2.4.5 Suppression d'un utilisateur
        • 2.5 Gestion des groupes
          • 2.5.1 Affichage de la liste des groupes
          • 2.5.2 Création d'un groupe
          • 2.5.3 Gestion des membres
          • 2.5.4 Suppression d'un groupe
        • 2.6 Utilisation du provider Active Directory
          • 2.6.1 Exploration du provider
          • 2.6.2 Déplacement d'objets
          • 2.6.3 Modification d'objets
          • 2.6.4 Utilisation des commandes Active Directory
      • 3. ADSI
        • 3.1 Présentation d'ADSI
        • 3.2 Confusion avec Active Directory
        • 3.3 Encore utile aujourd'hui ?
        • 3.4 Interaction avec une base locale SAM
          • 3.4.1 Généralités
          • 3.4.2 Groupes locaux
          • 3.4.3 Utilisateurs locaux
        • 3.5 Active Directory Domain Services
          • 3.5.1 Connexion à l'annuaire
          • 3.5.2 Connexion à un domaine avec un utilisateur différent
          • 3.5.3 Recherche d'objets
      • 4. ADSIPS
      • Index

    Auteur

    Nicolas BAUDINEn savoir plus

    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.

    Caractéristiques

    • Niveau Confirmé à Expert
    • Nombre de pages 468 pages
    • Parution septembre 2018
      • Reliure spirale - 17 x 21 cm (Médian)
      • ISBN : 978-2-409-01500-7
      • EAN : 9782409015007
      • Ref. ENI : EIM5.1POWFA
    • Niveau Confirmé à Expert
    • Parution septembre 2018
      • HTML
      • ISBN : 978-2-409-01502-1
      • EAN : 9782409015021
      • Ref. ENI : LNEIM5.1POWFA
    • Niveau Confirmé à Expert
    • Parution septembre 2018
      • Bundle
      • Ref. ENI : INEIM5.1POWFA

    Téléchargements

    En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
    • Des fichiers complémentaires (31,5 Ko)