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