TP N°4: Script d’inventaire du poste (disque, RAM, services critiques)

Sophie pose le ticket le plus complet reçu jusqu’ici : « Avant de déployer quoi que ce soit sur un nouveau poste Nordika, j’ai besoin d’un script qui me sort un rapport d’inventaire : espace disque, RAM totale, état de 3 services critiques, et le nombre de comptes locaux présents. Le tout dans un fichier texte que je peux archiver. »

Objectif

Combiner tout ce qui a été vu depuis la section 1 (Get-Process, pipeline, Measure-Object) et toute la section 4 (Providers, fichiers, services, comptes locaux) pour produire un script d’inventaire complet, avec un export dans un fichier.

Consignes

Étape 1 — Récupérez l’espace disque disponible et total du lecteur C: en Go.
Indice : Get-Volume (ou Get-PSDrive C si Get-Volume n’est pas disponible) renvoie des propriétés comme SizeRemaining et Size. Pensez à la conversion vue en TP de la section 2 (/1GB).

Étape 2 — Récupérez la RAM totale du poste, en Go.
Indice : Get-CimInstance -ClassName Win32_ComputerSystem renvoie une propriété TotalPhysicalMemory, en octets.

Étape 3 — Vérifiez l’état de 3 services critiques : Spooler, W32Time, Dnscache. Utilisez un tableau et une boucle, comme vu en leçon 4.3.

Étape 4 — Comptez le nombre de comptes utilisateurs locaux présents sur la machine (leçon 4.4).

Étape 5 — Assemblez toutes ces informations dans une chaîne de texte lisible, et écrivez-la dans un fichier C:\Nordika\Rapports\inventaire_<nomdelamachine>.txt (leçon 4.2). Créez le dossier au préalable s’il n’existe pas.
Indice : $env:COMPUTERNAME (Provider Env: vu en 4.1) donne le nom de la machine locale.

Étape 6 (bonus) — Ajoutez la date et l’heure du rapport en première ligne du fichier.

Solution commentée