{"id":48540694,"url":"https://github.com/ndxdeveloper/powershell-formation","last_synced_at":"2026-04-08T04:03:05.035Z","repository":{"id":289896037,"uuid":"972742151","full_name":"NDXDeveloper/powershell-formation","owner":"NDXDeveloper","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-25T15:51:00.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-25T16:50:36.263Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NDXDeveloper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-25T15:27:42.000Z","updated_at":"2025-04-25T15:51:04.000Z","dependencies_parsed_at":"2025-04-25T17:01:39.589Z","dependency_job_id":null,"html_url":"https://github.com/NDXDeveloper/powershell-formation","commit_stats":null,"previous_names":["ndxdeveloper/powershell-formation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NDXDeveloper/powershell-formation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDXDeveloper%2Fpowershell-formation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDXDeveloper%2Fpowershell-formation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDXDeveloper%2Fpowershell-formation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDXDeveloper%2Fpowershell-formation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NDXDeveloper","download_url":"https://codeload.github.com/NDXDeveloper/powershell-formation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NDXDeveloper%2Fpowershell-formation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31539232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"online","status_checked_at":"2026-04-08T02:00:06.127Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-08T04:03:00.644Z","updated_at":"2026-04-08T04:03:05.029Z","avatar_url":"https://github.com/NDXDeveloper.png","language":"PowerShell","readme":"# 🧠 Formation PowerShell – Du Débutant à l'Expert\n\n![PowerShell Logo](https://raw.githubusercontent.com/PowerShell/PowerShell/master/assets/ps_black_64.svg)\n\n## 📋 Présentation\n\nBienvenue dans cette formation complète sur PowerShell, conçue pour vous accompagner pas à pas depuis les concepts fondamentaux jusqu'aux techniques avancées utilisées par les experts. Que vous soyez administrateur système, développeur, ou simplement curieux d'apprendre un langage puissant d'automatisation, cette formation vous fournira les compétences nécessaires pour maîtriser PowerShell.\n\n## 🎯 Objectifs de la formation\n\n- Comprendre les concepts fondamentaux de PowerShell\n- Maîtriser la syntaxe et les structures de base\n- Développer des scripts robustes et performants\n- Automatiser les tâches d'administration système\n- Manipuler efficacement les données et objets\n- Intégrer PowerShell avec des services cloud et des API\n- Adopter les bonnes pratiques professionnelles\n\n## 📚 Structure du cours\n\nLa formation est divisée en 16 modules progressifs, chacun se concentrant sur des aspects spécifiques de PowerShell :\n\n### 🟦 Module 1 – Introduction à PowerShell\nDécouverte de l'environnement PowerShell, son histoire et ses différences avec d'autres shells.\n\n### 🟦 Module 2 – Environnement de travail et personnalisation\nConfiguration de votre environnement pour une productivité optimale.\n\n### 🟦 Module 3 – Syntaxe et fondamentaux\nApprentissage des bases du langage : cmdlets, variables, opérateurs et structures de contrôle.\n\n### 🟦 Module 4 – Objets et traitement de données\nExploration du modèle objet de PowerShell et manipulation avancée des données.\n\n### 🟦 Module 5 – Gestion des fichiers et du système\nOpérations sur les fichiers, dossiers et manipulation du système.\n\n### 🟦 Module 6 – Fonctions, modules et structuration\nCréation de composants réutilisables et organisation du code.\n\n### 🟦 Module 7 – Gestion des erreurs et debug\nTechniques pour gérer les exceptions et déboguer efficacement vos scripts.\n\n### 🟦 Module 8 – Jobs, tâches planifiées et parallélisme\nExécution de tâches en arrière-plan et optimisation des performances.\n\n### 🟦 Module 9 – Administration Windows\nGestion des composants Windows via PowerShell.\n\n### 🟦 Module 10 – Active Directory \u0026 LDAP\nAutomatisation des tâches d'administration Active Directory.\n\n### 🟦 Module 11 – Réseau \u0026 Sécurité\nConfiguration et diagnostic réseau, gestion de la sécurité.\n\n### 🟦 Module 12 – API, Web \u0026 Cloud\nInteraction avec des services web et cloud modernes.\n\n### 🟦 Module 13 – Tests, CI/CD et DevOps\nIntégration de PowerShell dans les workflows DevOps.\n\n### 🟦 Module 14 – Performance et optimisation\nTechniques pour améliorer les performances de vos scripts.\n\n### 🟦 Module 15 – Architecture \u0026 design de scripts pro\nConception avancée pour des projets PowerShell à grande échelle.\n\n### 🟨 Module 16 – Annexes et bonus\nRessources supplémentaires, exercices pratiques et projets.\n\n## 🛠️ Prérequis\n\n- Système d'exploitation Windows, Linux ou macOS\n- PowerShell 5.1 ou PowerShell 7+ installé\n- Éditeur de code (Visual Studio Code recommandé avec l'extension PowerShell)\n- Connaissances de base en informatique\n\n## ⚡ Installation rapide\n\n### Windows\n```powershell\n# PowerShell est préinstallé, mais pour obtenir la dernière version :\nwinget install Microsoft.PowerShell\n```\n\n### Linux (Ubuntu/Debian)\n```bash\n# Installer PowerShell 7\nsudo apt-get update\nsudo apt-get install -y wget apt-transport-https software-properties-common\nwget -q \"https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb\"\nsudo dpkg -i packages-microsoft-prod.deb\nsudo apt-get update\nsudo apt-get install -y powershell\n```\n\n### macOS\n```bash\n# Avec Homebrew\nbrew install --cask powershell\n```\n\n## 🚀 Comment utiliser cette formation\n\n1. Clonez ce dépôt sur votre machine locale\n   ```\n   git clone https://github.com/NDXDeveloper/powershell-formation.git\n   ```\n2. Parcourez les modules dans l'ordre suggéré\n3. Chaque module contient:\n   - Des explications théoriques\n   - Des exemples de code\n   - Des exercices pratiques\n   - Des quiz pour tester vos connaissances\n\n## 📋 Table des matières détaillée\n\n\u003cdetails\u003e\n\u003csummary\u003eCliquez pour afficher la table des matières complète\u003c/summary\u003e\n\n### 🟦 **Module 1 – Introduction à PowerShell**\n\n1-1. Qu'est-ce que PowerShell ?\n1-2. PowerShell vs Bash / CMD / VBScript\n1-3. Historique et versions (Windows PowerShell, PowerShell 7+)\n1-4. Installation (Windows, Linux, macOS)\n1-5. Découverte de la console PowerShell et VS Code\n1-6. Utilisation de l'aide intégrée (`Get-Help`, `Get-Command`, `Get-Member`)\n\n### 🟦 **Module 2 – Environnement de travail et personnalisation**\n\n2-1. Fichier de profil (`$PROFILE`)\n2-2. Customisation du prompt (oh-my-posh, PSReadLine)\n2-3. Historique de commandes et raccourcis clavier\n2-4. Modules utiles (PSReadLine, posh-git, Terminal-Icons, etc.)\n2-5. Découverte de la PowerShell Gallery\n\n### 🟦 **Module 3 – Syntaxe et fondamentaux**\n\n3-1. Cmdlets, alias et pipeline\n3-2. Variables, typage, tableaux, hashtables\n3-3. Opérateurs (logiques, arithmétiques, comparaison)\n3-4. Structures de contrôle (`if`, `switch`, `for`, `foreach`, `while`)\n3-5. Expressions régulières et filtrage\n3-6. Scripting : premiers scripts `.ps1`\n\n### 🟦 **Module 4 – Objets et traitement de données**\n\n4-1. Le modèle objet PowerShell\n4-2. Manipulation des objets (`Select-Object`, `Where-Object`, `Sort-Object`)\n4-3. Création d'objets personnalisés (`[PSCustomObject]`)\n4-4. Groupement, agrégation (`Group-Object`, `Measure-Object`)\n4-5. Export de données (CSV, JSON, XML)\n\n### 🟦 **Module 5 – Gestion des fichiers et du système**\n\n5-1. Fichiers, dossiers, chemins (`Get-Item`, `Get-ChildItem`, etc.)\n5-2. Lecture/écriture de fichiers (TXT, CSV, JSON, XML)\n5-3. Gestion des permissions NTFS\n5-4. Compression, archivage et extraction\n5-5. Dates et temps (`Get-Date`, manipulation des TimeSpan)\n\n### 🟦 **Module 6 – Fonctions, modules et structuration**\n\n6-1. Création de fonctions et paramètres\n6-2. Validation des paramètres (`[ValidateNotNullOrEmpty]`, etc.)\n6-3. Scripts, modules (`.ps1`, `.psm1`), manifestes\n6-4. Portée des variables et scopes\n6-5. Meilleures pratiques de structuration et nommage\n\n### 🟦 **Module 7 – Gestion des erreurs et debug**\n\n7-1. `try/catch/finally`, `throw`, `Write-Error`\n7-2. `$?`, `$LASTEXITCODE`, `$ErrorActionPreference`\n7-3. Débogage avec VS Code (`Set-PSBreakpoint`, etc.)\n7-4. Journaux d'exécution (`Start-Transcript`)\n7-5. Gestion des exceptions réseau, fichiers, API\n\n### 🟦 **Module 8 – Jobs, tâches planifiées et parallélisme**\n\n8-1. Jobs (`Start-Job`, `Receive-Job`, `Remove-Job`)\n8-2. Runspaces \u0026 ForEach-Object -Parallel (PowerShell 7+)\n8-3. Planification via le Planificateur de tâches Windows\n8-4. Création de services de fond en PowerShell\n8-5. Monitoring de scripts longue durée\n\n### 🟦 **Module 9 – Administration Windows**\n\n9-1. Services, processus, registre, événements\n9-2. WMI vs CIM (`Get-CimInstance`, `Invoke-CimMethod`)\n9-3. Gestion des disques, partitions, volumes\n9-4. Interrogation du matériel (RAM, CPU, etc.)\n9-5. Gestion des utilisateurs et groupes locaux\n\n### 🟦 **Module 10 – Active Directory \u0026 LDAP**\n\n10-1. Module RSAT et importation (`Import-Module ActiveDirectory`)\n10-2. Requêtes sur les utilisateurs, groupes, ordinateurs\n10-3. Création, modification, suppression d'objets AD\n10-4. Utilisation de filtres LDAP\n10-5. Audit de l'environnement AD (dernière connexion, comptes inactifs)\n\n### 🟦 **Module 11 – Réseau \u0026 Sécurité**\n\n11-1. Cmdlets réseau : `Test-Connection`, `Test-NetConnection`, `Resolve-DnsName`\n11-2. Découverte réseau (scan, ports, ping, IP)\n11-3. Firewall, pare-feu, et règles Windows Defender\n11-4. Gestion des certificats\n11-5. Sécurité des scripts : droits, exécution, sessions à privilèges\n\n### 🟦 **Module 12 – API, Web \u0026 Cloud**\n\n12-1. `Invoke-WebRequest` vs `Invoke-RestMethod`\n12-2. Authentification (Basic, Bearer, Token)\n12-3. Consommer une API REST, envoyer du JSON\n12-4. Appels vers GitHub, Azure, Teams, etc.\n12-5. Introduction à PowerShell + Azure / AWS / Google Cloud\n\n### 🟦 **Module 13 – Tests, CI/CD et DevOps**\n\n13-1. Introduction à Pester (tests unitaires)\n13-2. PowerShell + Git\n13-3. Scripts dans les pipelines (Azure DevOps, GitHub Actions)\n13-4. Linting et validation automatique\n13-5. Publication de modules (PSGallery)\n\n### 🟦 **Module 14 – Performance et optimisation**\n\n14-1. Profilage (`Measure-Command`, Stopwatch)\n14-2. Pipeline vs Boucles\n14-3. Techniques d'optimisation (filtrage natif, évitement de WMI)\n14-4. Éviter les ralentissements courants\n14-5. Chargement conditionnel de modules\n\n### 🟦 **Module 15 – Architecture \u0026 design de scripts pro**\n\n15-1. Organisation de projets PowerShell\n15-2. Séparation logique (orchestration vs logique métier)\n15-3. Gestion de la configuration externe (JSON, ENV, INI)\n15-4. Structuration modulaire avancée\n15-5. Documentation de scripts et fonctions (`.SYNOPSIS`, `.EXAMPLE`, etc.)\n\n### 🟨 **Module 16 – Annexes et bonus**\n\n16-1. Mini-projets (inventaire réseau, backup automatique, API weather, etc.)\n16-2. Modèles de scripts prêts à l'emploi\n16-3. Quiz et exercices corrigés par niveau\n16-4. Outils complémentaires (ISE, VS Code, Terminal Windows)\n16-5. Glossaire PowerShell \u0026 liens utiles\n\u003c/details\u003e\n\n## 📊 Progression suggérée\n\nCette formation est conçue pour être suivie de manière progressive, mais vous pouvez adapter votre parcours selon vos besoins :\n\n- **Débutant** : Modules 1 à 6\n- **Intermédiaire** : Modules 7 à 11\n- **Avancé** : Modules 12 à 15\n- **Bonus et projets pratiques** : Module 16\n\n## 📝 License\n\nCe projet est sous licence [GNU General Public License v3.0](LICENSE).\n\n## 👨‍💻 Auteur\n\n**Nicolas DEOUX**\n📧 Email: [NDXDev@gmail.com](mailto:NDXDev@gmail.com)\n🔗 LinkedIn: [https://www.linkedin.com/in/nicolas-deoux-ab295980/](https://www.linkedin.com/in/nicolas-deoux-ab295980/)\n🌐 GitHub: [https://github.com/NDXDeveloper/powershell-formation](https://github.com/NDXDeveloper/powershell-formation)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndxdeveloper%2Fpowershell-formation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fndxdeveloper%2Fpowershell-formation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndxdeveloper%2Fpowershell-formation/lists"}