Scripting De Base Et Technologies De Deploiement

CompTIA A+Procédures opérationnelles

Scripting de base et technologies de déploiement

Définition

Le scripting en IT permet d'automatiser des tâches répétitives via des fichiers de commandes. Les technologies de déploiement facilitent l'installation et la configuration de systèmes d'exploitation et de logiciels sur plusieurs machines simultanément.

Langage de script Extension Usage
PowerShell .ps1 Administration Windows, Active Directory, Azure
Batch (CMD) .bat / .cmd Scripts Windows simples, hérité
Bash .sh Linux, macOS, Git Bash
Python .py Multiplateforme, automation, outils
VBScript .vbs Hérité Windows (déprécié)
JavaScript .js Automation web, Node.js

Contexte

CompTIA A+ teste la capacité à identifier les types de scripts, comprendre leur syntaxe de base et savoir quand les utiliser. L'examen attend aussi la connaissance des méthodes de déploiement d'image (MDT, WDS, PXE, Autopilot).

Détails techniques

Comparaison des langages de script

Critère PowerShell Batch Bash Python
Système Windows Windows Linux/macOS Multiplateforme
Complexité Moyenne Simple Moyenne Moyenne
Variables $variable %variable% $variable variable
Commentaire # commentaire REM commentaire # commentaire # commentaire
Boucle foreach, for FOR for, while for, while
Condition if, switch IF if, case if, elif

Exemples de scripts basiques

# PowerShell : Créer des comptes utilisateurs en masse
$users = Import-Csv "C:\users.csv"
foreach ($user in $users) {
    New-LocalUser -Name $user.Name -Password (ConvertTo-SecureString $user.Password -AsPlainText -Force)
    Add-LocalGroupMember -Group "Users" -Member $user.Name
}
REM Batch : Mapper un lecteur réseau et copier des fichiers
@echo off
net use Z: \\serveur\partage /user:domaine\utilisateur
xcopy C:\Data Z:\Backup\ /E /Y
echo Sauvegarde terminée.
pause
#!/bin/bash
# Bash : Vérifier l'espace disque et alerter
USAGE=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $USAGE -gt 90 ]; then
    echo "ALERTE : Disque à ${USAGE}% !"
fi
# Python : Scanner les ports ouverts sur un réseau
import subprocess
hosts = ["192.168.1." + str(i) for i in range(1, 255)]
for host in hosts:
    result = subprocess.run(["ping", "-n", "1", "-w", "500", host],
                          capture_output=True)
    if result.returncode == 0:
        print(f"{host} est joignable")

Technologies de déploiement

Technologie Description Usage
WDS (Windows Deployment Services) Déploiement d'images Windows via réseau (PXE) Entreprise, Windows Server
MDT (Microsoft Deployment Toolkit) Séquences de tâches pour déploiement personnalisé Déploiement avancé sur site
SCCM / MECM Gestion complète du cycle de vie des postes Grande entreprise
Windows Autopilot Déploiement cloud, zero-touch Microsoft 365 / Azure AD
Sysprep Généralise une image Windows (retire les identifiants uniques) Préparation d'image maître
PXE Boot Démarrage réseau sans média local Déploiement en masse
Unattend.xml Fichier de réponses pour installation automatisée Installation sans intervention

Processus de déploiement d'image

1. Installer Windows sur un PC de référence
    │
2. Configurer les paramètres, logiciels, drivers
    │
3. Exécuter Sysprep (généralisation)
    │     sysprep /generalize /oobe /shutdown
    │
4. Capturer l'image (WDS ou DISM)
    │     dism /Capture-Image /ImageFile:D:\image.wim 
    │          /CaptureDir:C:\ /Name:"Image Master"
    │
5. Stocker l'image sur le serveur WDS/MDT
    │
6. Déployer via PXE sur les nouveaux PC
    │     PC démarre → PXE boot → Télécharge l'image → Installe
    │
7. Post-installation : rejoindre le domaine, appliquer GPO

Exécution de scripts — Sécurité

Politique d'exécution PowerShell Description
Restricted Aucun script (défaut Windows)
AllSigned Scripts signés uniquement
RemoteSigned Scripts locaux OK, distants doivent être signés
Unrestricted Tous les scripts (avertissement pour les distants)
# Vérifier la politique d'exécution
Get-ExecutionPolicy

# Définir la politique (nécessite admin)
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

Automatisation courante pour les techniciens

Tâche Script recommandé
Créer des comptes en masse PowerShell + CSV
Mapper des lecteurs réseau au logon Batch ou PowerShell via GPO
Surveiller l'espace disque PowerShell planifié (Task Scheduler)
Installer des logiciels silencieusement PowerShell + chocolatey ou winget
Sauvegarder des dossiers robocopy dans un batch planifié

Exemple concret

Le service IT doit déployer Windows 11 sur 80 nouveaux laptops. Le technicien installe Windows 11 sur un PC de référence, installe Office 365, les drivers, configure les paramètres. Il exécute sysprep /generalize /oobe /shutdown, capture l'image avec DISM et la charge sur le serveur WDS. Les 80 laptops démarrent en PXE, reçoivent l'image, se configurent automatiquement via le fichier unattend.xml et rejoignent le domaine AD. En parallèle, un script PowerShell crée les 80 comptes utilisateurs depuis un CSV fourni par les RH.