Windows PowerShell
Transcription
Windows PowerShell
Windows PowerShell Fonctionnalités avancées Introduction 1. DevOps ? Vous avez dit DevOps ? 13 2. Livraison continue et Infrastructure-as-Code 13 3. Cloud OS 14 4. Stratégie Open Source 15 5. Pour résumer... 15 Création de modules 1. Introduction 17 2. Module script 18 2.1 Convention de nommage 2.2 Internationalisation d’un module script 2.3 Conversion d’un script en module 21 23 23 3. Module dynamique 24 4. Manifeste de module 25 4.1 Gestion des versions 4.2 Gestion des dépendances 4.3 Gestion du contenu additionnel 4.4 Test de conformité d’un manifeste 5. Modules binaires www.editions-eni.fr 31 32 32 33 34 © Editions ENI 1/14 Windows PowerShell Fonctionnalités avancées 6. Exportation des membres d’un module 34 Fonctions avancées 1. Généralités 37 2. Attribut CmdletBinding 39 3. Attribut Parameter 42 3.1 Arguments agissant sur le comportement des paramètres 3.2 Attributs déterminant la validité des données passées aux paramètres 4. Cas d’usages 42 43 48 4.1 Fonction acceptant des valeurs passées par le pipeline (ValueFromPipeline) 4.2 Fonction acceptant des valeurs passées par le pipeline (ValueFromPipelineByPropertyName) 48 53 54 4.3 Jeux de paramètres Objets personnalisés 1. Introduction 57 2. Création d’un objet à partir de zéro 57 3. Ajout de membres à un objet existant 58 3.1 Ajout d’une propriété 3.2 Ajout d’une méthode 59 59 4. Création d’une collection d’objets personnalisés www.editions-eni.fr © Editions ENI 60 2/14 Windows PowerShell Fonctionnalités avancées 5. Création d’un objet personnalisé à partir d’un objet existant 61 6. Formatage d’un objet personnalisé 63 6.1 Définition d’un objet personnalisé 6.2 Modification du type de l’objet 6.3 Création d’un fichier de formatage 6.4 Importation du fichier de formatage et tests 64 65 66 68 Personnalisation des types standards 1. Introduction 71 2. Ajout de méthodes et propriétés personnalisées à des types existants 71 2.1 Extension via un fichier de définition de types 2.1.1 Ajout d’une propriété : la propriété Owner 2.1.2 Utilisation de la propriété Owner 2.1.3 Ajout d’une seconde propriété : OwnerSID 2.1.4 Ajout de méthodes personnalisées : SetOwner et GetMSDNHelp 2.1.5 Mise en œuvre de la méthode GetMSDNHelp 2.2 Extension sans utiliser de fichiers de définition de types 2.2.1 Ajout d’une propriété : la propriété Owner 2.2.2 Ajout d’une méthode : la méthode SetOwner 3. Formatage de l'affichage de types existants 3.1 Découverte des fichiers de formatage par défaut 3.2 Création d'un fichier de formatage personnalisé 3.2.1 Modification de l’affichage par défaut des fichiers et répertoires 3.2.2 Affichage par défaut du propriétaire d’un fichier 73 74 75 76 78 79 80 80 81 81 83 85 86 91 Travaux en arrière-plan www.editions-eni.fr © Editions ENI 3/14 Windows PowerShell Fonctionnalités avancées 1. Introduction 95 2. Travaux en arrière-plan locaux (BackgroundJob) 96 3. Travaux en arrière-plan distants (RemoteJob) 99 4. Travaux planifiés (PSScheduledJobs) 100 4.1 Création d’un travail planifié 4.2 Planificateurs (JobTriggers) 4.3 Options (JobOptions) 100 102 105 5. Workflows (PSWorkflowJob) 106 Signature des scripts 1. Signatures numériques 107 2. Certificats 108 2.1 Achat d’un certificat 2.2 Création d’un certificat auto-signé 108 108 3. Signature d’un script 115 4. Exécution des scripts signés 117 5. Déploiement des certificats 118 5.1 Importation manuelle 5.2 Importation par GPO 121 126 Manipulation des objets COM www.editions-eni.fr © Editions ENI 4/14 Windows PowerShell Fonctionnalités avancées 1. Introduction à la technologie COM 133 2. COM, les origines 133 3. Manipulation des objets COM 134 3.1 Recherche d’un objet 3.2 Création/instanciation d’un objet 135 135 4. Actions sur les applications avec COM 137 4.1 Microsoft Office 2013 4.1.1 Microsoft PowerPoint 2013 4.1.2 Microsoft Word 2013 4.2 Internet Explorer 4.2.1 Navigation 4.2.2 Affichage d’une page HTML 4.3 Windows Script Host (WSH) 4.3.1 WshShell 4.3.2 WshNetwork 137 137 140 146 146 148 149 149 152 Création d’interfaces graphiques 1. Introduction 155 2. Quelle technologie choisir ? 156 3. Windows Forms 157 3.1 Introduction aux Windows Forms 3.2 Création d'une form simple 3.3 Ajout de fonctionnalités à une form 3.4 Réalisation : Générateur de mots de passe 3.5 Sapien Primal Forms Community Edition 3.6 Création de graphiques avec MS Chart Controls www.editions-eni.fr © Editions ENI 157 159 161 165 169 172 5/14 Windows PowerShell Fonctionnalités avancées 3.7 Bibliothèque LibraryChart 177 4. Windows Presentation Foundation 179 4.1 Avant de commencer... 4.2 Création assistée d'interfaces graphiques WPF 4.3 Gestion des événements 4.4 Création de formes graphiques simples 4.5 Réalisation de graphiques évolués avec le WPF Toolkit 5. Récapitulatif 180 181 184 188 189 191 Workflows 1. Introduction 193 1.1 Qu’est-ce qu’un workflow ? 1.2 Comment fonctionnent-ils ? 194 194 2. Création d’un workflow 195 2.1 Le mot-clé Workflow 2.2 Exécution de workflows en tant que travaux en arrière-plan 2.3 Gestion des paramètres 2.3.1 Paramètres communs des workflows 2.3.2 Paramètres personnalisés 2.4 Le mot-clé InlineScript 2.4.1 Les commandes non interprétées 2.4.2 Portée des variables 3. Exécution en parallèle 204 3.1 Le mot-clé Foreach 3.2 Les séquences 207 209 4. Points de synchronisation www.editions-eni.fr 195 196 197 198 201 202 202 203 211 © Editions ENI 6/14 Windows PowerShell Fonctionnalités avancées 5. Suspension d’un workflow 213 6. Relance d’un workflow (suite à une suspension ou un crash) 215 7. Restrictions 216 7.1 Restrictions sur les objets 7.2 Restrictions de langage 7.3 Restrictions de commande 216 216 217 8. Observation du contenu d’un workflow 218 9. Workflows : pour qui ? Pour quoi ? 220 Gestion des configurations avec DSC 1. Introduction 221 2. Plateformes supportées par DSC 222 3. Vue d’ensemble de l’architecture 222 3.1 Terminologie 3.2 Considérations générales 3.3 Mode Push 3.4 Mode Pull 3.5 Anatomie de base d’une configuration 3.6 Application d’une configuration 3.7 Local Configuration Manager (LCM) - Gestionnaire local de configurations 3.7.1 Récupération de la configuration courante 3.7.2 Propriétés applicables sur la métaconfiguration 3.7.3 Application d’une métaconfiguration 3.8 Contenu d’un fichier MOF www.editions-eni.fr © Editions ENI 223 224 224 225 226 227 229 229 230 232 234 7/14 Windows PowerShell Fonctionnalités avancées 3.8.1 Fichier MOF de métaconfiguration 3.8.2 Fichier MOF de configuration 4. Ressources DSC 236 4.1 Ressources intégrées à PowerShell 4.1.1 Archive 4.1.2 Environment 4.1.3 File 4.1.4 Group 4.1.5 Log 4.1.6 Package 4.1.7 WindowsProcess 4.1.8 Registry 4.1.9 WindowsFeature 4.1.10 Script 4.1.11 Service 4.1.12 User 4.2 Ressources additionnelles du Resource Kit 4.2.1 Versions successives du DSC Resource Kit 4.2.2 Où le trouver ? 4.2.3 Comment l’installer ? 4.2.4 Contenu du kit 4.2.5 Pourquoi le nom des ressources commence-t-il par un x ? 4.2.6 Modification des ressources du Resource Kit 4.3 Ressources personnalisées 4.4 Utilisation des ressources 4.5 Énumération des ressources installées 5. Écriture d’une configuration 236 236 237 239 242 244 245 248 250 251 253 257 258 260 260 260 261 261 264 264 265 265 265 266 5.1 Création d’une configuration 5.2 Configuration avec paramètres 5.3 Importation d’une ressource 5.3.1 Appel type d’une ressource 5.3.2 Appel d’une ressource versionnée 5.4 Données de configuration ou comment séparer le « quoi » du « où » www.editions-eni.fr 234 235 © Editions ENI 266 269 270 270 271 271 8/14 Windows PowerShell Fonctionnalités avancées 5.4.1 Définition d’une configuration environnementale 5.4.2 Variables spéciales $AllNodes, $Node, $ConfigurationData 5.4.3 Prise en compte de la configuration environnementale 5.4.4 Récapitulatif 272 273 275 276 6. Considérations générales sur la sécurité 277 7. Sécurisation des credentials dans une configuration 278 7.1 Prérequis 7.2 Vue d’ensemble 7.3 Données de configuration 7.4 Écriture du script de configuration 7.5 Exécution de la configuration 7.5.1 Génération des fichiers MOF 7.5.2 Configuration du LCM 7.5.3 Application de la configuration 7.6 Obtention de l’empreinte numérique des certificats de chiffrement 8. Configuration d’un Pull Server 278 279 279 280 281 281 284 285 286 286 8.1 Installation d’un Pull Server basé sur HTTP 8.1.1 Configuration du Pull Server 8.1.2 Configuration d’un nœud pour utiliser un Pull Server 8.2 Installation d’un Pull Server basé sur HTTPS 8.2.1 Configuration du Pull Server pour prise en compte du certificat 8.2.2 Configuration du LCM des nœuds 8.3 Déploiement des ressources 287 287 290 294 295 295 295 9. Test de conformité d’un nœud 296 10. Application de la dernière bonne configuration connue 297 11. Ressource composite 297 12. Écriture d’une ressource personnalisée 300 www.editions-eni.fr © Editions ENI 9/14 Windows PowerShell Fonctionnalités avancées 12.1 Constitution d’une ressource 12.2 Assistant de création de ressources 12.3 Commandelettes du module xDscResourceDesigner 12.4 Génération d’un squelette de module 12.5 Donner vie au squelette 12.6 Déploiement de la ressource 12.7 Vérification de la prise en compte de la ressource 13. Maintenance et dépannage 300 300 301 301 303 304 305 305 13.1 Par quel mécanisme s’effectue la reconfiguration automatique des nœuds ? 13.2 Forcer la réapplication d’une configuration 13.3 Remettre un système dans son état d’origine 13.4 Activer le mode verbeux 305 306 306 307 PowerShell Web Access 1. Introduction 309 2. Prérequis 309 2.1 Serveur 2.2 Navigateurs pris en charge 2.3 Configuration des navigateurs Web 2.4 Installation du serveur Web Access 2.5 Configuration du serveur Web Access 309 310 310 311 312 3. Accès depuis un client 316 4. Limitations 319 5. Cas d’usage 319 Manipulation d'objets annuaire avec ADSI www.editions-eni.fr © Editions ENI 10/14 Windows PowerShell Fonctionnalités avancées 1. À la découverte d'ADSI 323 1.1 Quelques mots sur Active Directory 1.2 ADSI est-il encore utile ? 1.3 Considérations sur la gestion du service de domaine Active Directory 2. Manipulation de la base de comptes locale 2.1 Considérations pour les systèmes à partir de Windows Server 2012 et Windows 8 2.2 Généralités 2.3 Gestion des groupes 2.3.1 Lister les groupes 2.3.2 Lister les membres d'un groupe 2.3.3 Ajouter un membre à un groupe 2.3.4 Supprimer un membre d'un groupe 2.3.5 Créer un groupe 2.3.6 Supprimer un groupe 2.3.7 Modifier un groupe 2.4 Gestion des utilisateurs locaux 2.4.1 Lister les utilisateurs 2.4.2 Créer un utilisateur local 2.4.3 Modifier un utilisateur local 2.4.4 Supprimer un utilisateur local 3. Active Directory Domain Services 325 325 326 327 327 328 329 330 331 331 332 333 333 333 334 338 338 3.1 Connexion à l'annuaire et à ses objets 3.1.1 Connexion à un utilisateur 3.1.2 Connexion à la racine du domaine actuel 3.1.3 Connexion à un catalogue global 3.1.4 Connexion à un domaine distant sous une autre identité 3.2 Recherche d'objets 3.2.1 Récupérer tous les objets 3.2.2 Récupérer les unités d'organisation 3.2.3 Récupérer les utilisateurs 3.2.4 Récupérer les groupes 3.3 Gestion des unités d'organisation (UO) www.editions-eni.fr 323 324 325 © Editions ENI 338 338 339 340 341 342 344 344 345 347 348 11/14 Windows PowerShell Fonctionnalités avancées 3.3.1 Créer une unité d'organisation 3.3.2 Renommer une unité d'organisation 3.3.3 Déplacer des objets dans une unité d'organisation 3.3.4 Supprimer une unité d'organisation 3.4 Gestion des groupes 3.4.1 Créer un groupe 3.4.2 Affecter un ou plusieurs membres à un groupe 3.4.3 Renommer un groupe 3.4.4 Supprimer un groupe 3.5 Gestion des utilisateurs 3.5.1 Créer un compte utilisateur 3.5.2 Affecter un mot de passe 3.5.3 Activer un compte utilisateur 3.5.4 Lire/définir un attribut 3.5.5 Supprimer un attribut 3.5.6 Supprimer un utilisateur 349 349 350 351 351 351 352 354 354 354 354 358 359 360 360 362 Administration d’un annuaire Active Directory 1. Présentation 363 2. Mise en route du module 363 3. Le fournisseur Active Directory 365 3.1 Exploration du fournisseur 3.2 Déplacement d'un objet d'annuaire 3.3 Modification d'un objet d'annuaire 4. Le jeu de commandes du module Active Directory 4.1 Recherche d'objets 4.1.1 Création d'un filtre LDAP 4.1.2 Création avancée d'un filtre LDAP 4.1.3 Création d'un filtre générique 4.1.4 Création d'un filtre basé sur une identité www.editions-eni.fr © Editions ENI 366 367 367 368 368 369 370 374 375 12/14 Windows PowerShell Fonctionnalités avancées 4.2 Gestion des utilisateurs 4.2.1 Obtenir la liste des utilisateurs 4.2.2 Créer des utilisateurs 4.2.3 Affecter un mot de passe à la création 4.2.4 Affecter un mot de passe à un compte existant 4.2.5 Activer un compte à la création 4.2.6 Activer un compte existant 4.2.7 Lire un ou plusieurs attributs 4.2.8 Obtenir tous les attributs 4.2.9 Modifier un attribut 4.2.10 Effacer un attribut 4.2.11 Supprimer un utilisateur 4.3 Gestion des groupes 4.3.1 Lister les groupes 4.3.2 Créer des groupes 4.3.3 Énumérer les membres d'un groupe 4.3.4 Ajouter des membres à un groupe (1 vers 1 ou n vers 1) 4.3.5 Ajouter un membre à un ou plusieurs groupes (1 vers 1 ou 1 vers n) 4.3.6 Supprimer un ou plusieurs membres d'un groupe 4.3.7 Supprimer un membre d'un ou de plusieurs groupes 4.3.8 Supprimer un groupe 377 380 380 384 385 386 386 386 387 389 390 390 390 391 394 396 397 399 400 401 401 Collecte de données de performances 1. Quand et comment collecter des données de performances ? 403 2. Windows Performance Logs and Alerts (PLA) 404 3. Jeu de commandes PowerShell 405 3.1 Énumération des groupes de compteurs de performance 3.2 Identification du compteur approprié 3.3 Accès aux données de compteurs 3.3.1 Contrôler le nombre de jeux de données et la fréquence 3.3.2 Collecter des données sur des ordinateurs distants www.editions-eni.fr © Editions ENI 405 408 412 413 414 13/14 Windows PowerShell Fonctionnalités avancées 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 dans un fichier Excel (CSV) 3.6 Manipulation des données de performances présentes dans un fichier 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.exe 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 417 417 418 420 422 430 431 438 438 439 440 441 442 442 442 Conclusion 443 Index 445 www.editions-eni.fr © Editions ENI 14/14