Skip to content

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

Parcours d'Apprentissage Recommandé

Niveau 1 : PowerShell Fondamentaux

graph LR
    A[Syntaxe] --> B[Cmdlets]
    B --> C[Pipeline]
    C --> D[Scripts]
  1. PowerShell Foundations
  2. PowerShell Foundations
  3. Variables, types, opérateurs

  4. Workshop Pratique

  5. PowerShell Workshop
  6. Exercices progressifs

  7. Productivité

  8. Productivité Windows
  9. Raccourcis, outils

Niveau 2 : Administration Enterprise

  1. Windows Server
  2. Windows Server Formation
  3. Rôles, services, administration

  4. Windows Patching

  5. Windows Patching
  6. WSUS, mise à jour

Niveau 3 : Automatisation Avancée

  1. WSL2
  2. WSL2
  3. Linux sous Windows

  4. Windows Hardening

  5. Windows Hardening
  6. 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


← Linux SysAdmin DevOps Engineer →