Didacticiel Windows Powershell pour débutants Table des matières Introduction 1
Didacticiel Windows Powershell pour débutants Table des matières Introduction 1. Rédiger des scripts PowerShell : les bases 1.1 Lancer PowerShell 1.2 Préparer l’exécution de scripts PowerShell 1.3 Les cmdlets PowerShell 1.4 Commentaires 1.5 Canaux (Pipes) 2. Top 10 des tâches de gestion d’Active Directory avec PowerShell 2.1 Créer de nouveaux comptes d’utilisateur et d’ordinateur 2.2 Rattacher un ordinateur à un domaine et retirer un ordinateur d’un domaine 2.3 Renommer un ordinateur 2.4 Réinitialiser un compte d’ordinateur 2.5 Désactiver des comptes d’utilisateur et d’ordinateur 2.6 Supprimer un ordinateur d’Active Directory 2.7 Créer et supprimer un groupe d’Active Directory 2.8 Ajouter des utilisateurs et des ordinateurs à un groupe 2.9 Supprimer des utilisateurs et des ordinateurs d’un groupe 2.10 Déplacer des utilisateurs et des ordinateurs vers une nouvelle unité d’organisation 4 5 5 6 7 11 11 12 12 18 19 20 20 21 22 24 25 26 2 3 3. Top 10 des tâches de gestion du système de fichiers avec PowerShell 3.1 Consulter des objets dans un annuaire 3.2 Créer des fichiers et des dossiers 3.3 Supprimer des fichiers et des dossiers 3.4 Copier des fichiers et des dossiers 3.5 Déplacer des fichiers et des annuaires 3.6 Renommer des fichiers 3.7 Définir des autorisations pour les fichiers et dossiers 3.8 Supprimer des autorisations d’utilisateur 3.9 Activer et désactiver les héritages d’autorisations 3.10 Modifier la propriété des fichiers et des dossiers 4. Automatiser les scripts PowerShell 4.1 Créer des tâches planifiées avec des scripts PowerShell 4.2 Exécuter des scripts PowerShell avec le planificateur de tâches Conclusion À propos de Netwrix 28 28 29 30 31 32 33 33 36 37 38 39 39 40 45 47 4 Introduction Automatisons, automatisons. Mais où est passé ce script?... Attention : PowerShell crée une dépendance! Windows PowerShell est un moteur d’automatisation orienté objet ainsi qu’un langage de script. Doté d’un interpréteur de commandes interactif, il est conçu pour aider les professionnels de l’informatique à configurer les systèmes et automatiser les tâches d’administration. Il est intégré à tous les systèmes d’exploitation Windows modernes depuis Windows 2008 R2. L’apprentissage de Windows PowerShell peut-être comparé à l’apprentissage d’un outil polyvalent. Dans cet eBook, nous vous expliquerons les bases des scripts PowerShell, l’utilisation des commandes et scripts PowerShell pour effectuer les tâches administratives les plus courantes et la manière de programmer dans le temps vos scripts et commandes PowerShell. Commençons à apprendre PowerShell. 1. Rédiger des scripts PowerShell : les bases 5 Dans cette section, nous allons aborder les bases des scripts PowerShell. Cela vous permettra d’effectuer plus facilement la plupart des tâches d’administration dans votre environnement informatique Windows. PowerShell comprend une option de ligne de commande et un environnement d’écriture de scripts intégré (ISE) : 1.1 Lancer PowerShell Pour ouvrir la ligne de commande PowerShell, tapez powershell.exe dans le menu Démarrer de Windows. Un écran comme celui-ci s’affiche : Pour lancer l’ISE PowerShell, tapez powershell_ise.exe dans le menu Démarrer. L’utilisation de l’ISE Power- Shell est la meilleure façon de travailler avec le langage de script, car cet environnement offre une surbrillance syntaxique, un remplissage automatique des commandes et d’autres fonctions d’automatisa- tion qui simplifient la rédaction et le test des scripts. 6 1.2 Préparation à l’exécution des scripts PowerShell Les scripts PowerShell sont stockés dans des fichiers .ps1. Vous ne pouvez pas exécuter un script en double-cliquant simplement sur son fichier, ceci évite d’endommager accidentellement vos systèmes. Au lieu de cela, cliquez avec le bouton droit de la souris sur le fichier et sélectionnez Exécuter avec PowerShell : De plus, une politique restreint l’exécution des scripts. Vous pouvez consulter cette politique en exécutant la commande Get-ExecutionPolicy dans PowerShell : Vous obtiendrez l’une des valeurs suivantes : Pour commencer à travailler avec PowerShell, changez le paramétrage de cette politique en la passant de Restricted à RemoteSigned, à l’aide de la commande Set-ExecutionPolicy RemoteSigned : Restricted — Aucun script n’est autorisé. Il s’agit du paramètre par défaut, que vous verrez donc lors de votre première exécution de la commande. AllSigned — Vous pouvez exécuter les scripts signés par un développeur de confiance. Ce paramétrage vous demandera, avant l’exécution d’un script, de confirmer que vous souhaitez bien l’exécuter. RemoteSigned — Vous pouvez exécuter vos propres scripts ou les scripts signés par un développeur de confiance. Unrestricted — Vous pouvez exécuter tous les scripts que vous voulez. 7 1.3 Les cmdlets PowerShell Un cmdlet est une commande PowerShell qui a une fonction prédéfinie, comme un opérateur dans un langage de programmation. Voici quelques informations importantes concernant les cmdlets : Un cmdlet se compose toujours d’un verbe (ou d’un mot qui fait office de verbe) et d’un nom, séparés par un trait d’union (c’est la règle « verbe-nom »). Voici quelques exemples de verbes : Pour vous exercer, essayez d’exécuter les cmdlets suivants : Il existe des cmdlets système, utilisateur et personnalisés. Les cmdlets fournissent des résultats sous forme d’objet ou de tableau d’objets. Get — Obtenir Get-Process — Affiche les processus en cours d’exécution sur votre ordinateur : Set — Définir Start — Commencer Stop — Arrêter (quelque chose en cours d’exécution) Out — Générer New — Pour créer quelque chose (« new » n’est pas un verbe, mais fonctionne de la même manière) Les cmdlets peuvent obtenir des données à analyser ou transférer des données vers un autre cmdlet par le biais de canaux (je reviendrai sur ces canaux – ou pipes – dans un instant). Les cmdlets sont « insensibles à la casse ». C’est-à-dire que les majuscules et minuscules n’ont aucune importance, vous pouvez tout aussi bien taper Get-ADUser, get-aduser ou gEt-AdUsEr. Si vous voulez utiliser plusieurs cmdlets dans une même chaîne, vous devez les séparer par un point-virgule (;). 8 Get-Service — Affiche la liste des services et leur état Get-Content — affiche le contenu du fichier spécifié (par exemple, Get-Content C:\Windows\System32\ drivers\etc\hosts) Bonne nouvelle : vous n’avez pas à mémoriser tous les cmdlets. Vous pouvez afficher la liste de tous les cmdlets en exécutant le cmdlet Get-Help-Category, qui renvoie ce qui suit : Vous pouvez également créer vos propres cmdlets personnalisés. Chaque cmdlet est assorti de plusieurs paramètres qui permettent de personnaliser son action. Dès que vous avez tapé un cmdlet et un trait d’union (-), l’ISE PowerShell propose automatiquement tous les paramètres valides et leurs types. 9 Par exemple, le cmdlet suivant affiche tous les services dont le nom commence par « W » : Get-Service -Name W* Si vous oubliez les paramètres d’un cmdlet, utilisez un script comme ci-dessous, qui affiche les paramètres du cmdlet Get-Process : Si vous ne trouvez toujours pas le cmdlet dont vous avez besoin, vérifiez que votre aide est à jour et obtenez des exemples relatifs au cmdlet qui vous intéresse (par exemple Get-Process) en utilisant un script comme celui-ci : Update-Help #pour mettre à jour les données d’aide Get-Help Get-Process -Examples Get-Process | Get-Member Start-Process notepad Stop-Process -Name notepad spps -Name notepad start notepad 10 Vous pouvez également utiliser des alias, qui sont des noms de cmdlet abrégés. Par exemple, au lieu de saisir Get-Help, vous pouvez vous contenter de Help. Essayez d’exécuter les deux commandes suivantes et voyez si vous obtenez le même résultat : De même, pour arrêter le processus, vous pouvez utiliser l’une des commandes suivantes : Pour afficher tous les alias, exécutez le cmdlet Get-Alias. 11 1.5 Canaux (pipes) Un canal permet de transférer des données d’un cmdlet à un autre. Précédemment, j’ai utilisé un canal pour obtenir toutes les propriétés d’un objet. Si, par exemple, vous exécutez le script suivant, vous obtiendrez tous les services triés selon leur état : Vous pouvez également utiliser un canal pour envoyer du texte dans un fichier à l’aide d’un script comme le suivant : 1.4 Commentaires Le fait de laisser des commentaires dans un script vous aidera – ainsi que vos collègues – à mieux comprendre ce que fait le script concerné. Un commentaire chaîne est une ligne unique qui commence par un dièse (#) ; les commentaires blocs s’étendent sur plusieurs lignes, commençant et se terminant par des dièses et des chevrons : Get-Service | Sort-Object -property Status "Hello, World!" | Out-File C:\ps\test.txt Vous pouvez utiliser plusieurs canaux. Par exemple, le script suivant dresse la liste de tous les services, le premier canal excluant les services arrêtés et le second limitant la liste aux noms d’affichage : Get-Service | WHERE {$_.status -eq "Running"} | SELECT displayname # “$_.” définit l’élément courant dans le canal. 2. Top 10 des tâches de gestion d’Active Directory avec PowerShell Le plus facile, pour gérer des objets dans un domaine Active Directory, est d’utiliser le composant logiciel enfichable MMC Utilisateurs et ordinateurs Active Directory. Mais que faire si vous devez créer de nombreux comptes d’utilisateur, ou si Utilisateurs et ordinateurs Active Directory n’est pas disponible pour une raison ou pour une autre ? Dans cette section, nous allons voir comment effectuer les tâches de gestion d’AD les plus courantes avec PowerShell. Gardez à l’esprit que pour pouvoir travailler avec Active Directory et ses objets, vous devez importer le module Active uploads/Management/ windows-powershell-tutorial-for-beginners-fr.pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 10, 2021
- Catégorie Management
- Langue French
- Taille du fichier 2.8558MB