Parcours Windows Admin
Guide de démarrage rapide pour les administrateurs Windows et PowerShell.
Votre Boîte à Outils Essentielle
Cheatsheets Indispensables
| Cheatsheet | Usage |
|---|---|
| PowerShell Workshop | Atelier pratique complet |
| PowerShell Foundations | Bases PowerShell |
Scripts Prêts à l'Emploi
# Test santé Active Directory
.\Test-ADHealth.ps1
# Audit administrateurs locaux
.\Audit-LocalAdmins.ps1
# Vérification mise à jour
.\Get-WindowsUpdateStatus.ps1
- AD Health Check - Santé Active Directory
- Local Admins Audit - Audit administrateurs
- Server Audit - Audit serveur
Parcours d'Apprentissage Recommandé
Niveau 1 : PowerShell Fondamentaux
graph LR
A[Syntaxe] --> B[Cmdlets]
B --> C[Pipeline]
C --> D[Scripts]
- PowerShell Foundations
- PowerShell Foundations
-
Variables, types, opérateurs
-
Workshop Pratique
- PowerShell Workshop
-
Exercices progressifs
-
Productivité
- Productivité Windows
- Raccourcis, outils
Niveau 2 : Administration Enterprise
- Windows Server
- Windows Server Formation
-
Rôles, services, administration
-
Windows Patching
- Windows Patching
- WSUS, mise à jour
Niveau 3 : Automatisation Avancée
- WSL2
- WSL2
-
Linux sous Windows
-
Windows Hardening
- Windows Hardening
- Sécurisation Windows
Formation Structurée
Pour un apprentissage progressif et complet :
| Formation | Modules | Niveau |
|---|---|---|
| Windows Mastery | 10 modules | Débutant → Avancé |
| Windows Server | 12 modules | Intermédiaire |
| Windows Hardening | 8 modules | Avancé |
Tâches Quotidiennes
Diagnostic Rapide
# Services en échec
Get-Service | Where-Object {$_.Status -eq 'Stopped' -and $_.StartType -eq 'Automatic'}
# Espace disque
Get-WmiObject Win32_LogicalDisk | Select DeviceID, @{n='Free(GB)';e={[math]::Round($_.FreeSpace/1GB,2)}}
# Événements erreur récents
Get-EventLog -LogName System -EntryType Error -Newest 20
# Connexions réseau
Get-NetTCPConnection -State Established | Group RemoteAddress
# Dernières connexions AD
Get-ADUser -Filter * -Properties LastLogonDate | Sort LastLogonDate -Descending | Select -First 20
Maintenance AD
# Utilisateurs inactifs (90 jours)
$threshold = (Get-Date).AddDays(-90)
Get-ADUser -Filter {LastLogonDate -lt $threshold} -Properties LastLogonDate
# Ordinateurs obsolètes
Get-ADComputer -Filter {LastLogonDate -lt $threshold} -Properties LastLogonDate
# Groupes vides
Get-ADGroup -Filter * | Where {!(Get-ADGroupMember $_)}
# Réplication AD
Get-ADReplicationPartnerMetadata -Target * -Scope Server
One-Liners Utiles
# Exporter tous les utilisateurs AD
Get-ADUser -Filter * -Properties * | Export-CSV users.csv -NoTypeInformation
# Trouver les comptes verrouillés
Search-ADAccount -LockedOut | Select Name, LockedOut, LastLogonDate
# Lister les GPO non liées
Get-GPO -All | Where {($_ | Get-GPOReport -ReportType XML | Select-String '<LinksTo>').Count -eq 0}
# Tester la connectivité vers tous les DC
Get-ADDomainController -Filter * | ForEach {Test-Connection $_.HostName -Count 1}
# Rapport NTFS permissions
Get-ChildItem -Directory | Get-Acl | Select Path, Owner, AccessToString
Ressources Complémentaires
- Windows Reference - Référence complète
- Scripts PowerShell - Bibliothèque de scripts
- Windows Hardening - Sécurisation
| ← Linux SysAdmin | DevOps Engineer → |
|---|---|