420-1Q1-AA Help

Solutions

Exercice 1 : Afficher des informations système

Créez un script PowerShell qui :

  1. Affiche le nom de votre ordinateur ($env:COMPUTERNAME).

  2. Affiche la version de Windows installée.

  3. Affiche la quantité de mémoire vive (RAM) disponible sur votre système.

Solution :

Write-Output "Nom de l'ordinateur : $env:COMPUTERNAME" (Get-WmiObject -Class Win32_OperatingSystem).Version (Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory / 1GB

Exercice 2 : Gestion de fichiers et dossiers

Écrivez un script qui :

  1. Crée un dossier appelé "DocumentsTest" sur votre Bureau.

  2. Crée cinq fichiers texte nommés Doc1.txt, Doc2.txt, ... Doc5.txt à l'intérieur de ce dossier.

  3. Ajoute du contenu personnalisé dans chaque fichier.

  4. Compte et affiche le nombre de fichiers présents dans le dossier.

Solution :

$desktopPath = [System.Environment]::GetFolderPath('Desktop') $folderPath = "$desktopPath\DocumentsTest" New-Item -ItemType Directory -Path $folderPath -Force for ($i = 1; $i -le 5; $i++) { $filePath = "$folderPath\Doc$i.txt" New-Item -ItemType File -Path $filePath -Force | Out-Null Add-Content -Path $filePath -Value "Contenu personnalisé pour Doc$i" } $fileCount = (Get-ChildItem -Path $folderPath).Count Write-Output "Nombre de fichiers dans le dossier : $fileCount"

Exercice 3 : Automatiser la gestion des processus

Créez un script qui :

  1. Liste tous les processus en cours sur votre machine.

  2. Vous demande de saisir le nom d'un processus à arrêter.

  3. Vérifie si le processus est en cours d'exécution, puis l'arrête s'il est trouvé.

  4. Affiche un message de confirmation ou une alerte si le processus n'existe pas.

Solution :

Get-Process $processName = Read-Host "Veuillez saisir le nom du processus à arrêter" $process = Get-Process -Name $processName -ErrorAction SilentlyContinue if ($process) { Stop-Process -Name $processName -Force Write-Output "Le processus $processName a été arrêté." } else { Write-Output "Le processus $processName n'a pas été trouvé." }

Exercice 4 : Récupérer des informations sur les utilisateurs

Écrivez un script qui :

  1. Liste tous les utilisateurs locaux du système.

  2. Vérifie si un utilisateur spécifique, par exemple "Invité", est présent.

  3. Affiche un message indiquant si l'utilisateur "Invité" est activé ou désactivé.

Solution :

Get-LocalUser $user = Get-LocalUser -Name "Invité" -ErrorAction SilentlyContinue if ($user) { $status = if ($user.Enabled) { "activé" } else { "désactivé" } Write-Output "L'utilisateur 'Invité' est $status." } else { Write-Output "L'utilisateur 'Invité' n'existe pas." }

Exercice 5 : Backup de fichiers

Créez un script qui :

  1. Vous demande de saisir le chemin d'un dossier à sauvegarder.

  2. Copie tout le contenu du dossier vers un emplacement de sauvegarde appelé "Backup_

    ", où <Date> est la date actuelle sous la forme AAAAMMJJ.

  3. Vérifie si le dossier de sauvegarde a bien été créé et affiche un message confirmant la réussite de la sauvegarde.

Solution :

$sourcePath = Read-Host "Veuillez saisir le chemin du dossier à sauvegarder" $date = (Get-Date).ToString("yyyyMMdd") $backupPath = "$sourcePath\Backup_$date" Copy-Item -Path $sourcePath -Destination $backupPath -Recurse -Force if (Test-Path $backupPath) { Write-Output "La sauvegarde a été créée avec succès dans : $backupPath" } else { Write-Output "La sauvegarde a échoué." }

Exercice 6 : Gestion des services Windows

Écrivez un script qui :

  1. Liste tous les services Windows et affiche leur nom ainsi que leur statut (en cours d'exécution ou arrêté).

  2. Vous demande de saisir le nom d'un service.

  3. Arrête le service s'il est en cours d'exécution, ou démarre le service s'il est arrêté.

  4. Affiche un message récapitulant l'action effectuée.

Solution :

Get-Service | Select-Object -Property Name, Status $serviceName = Read-Host "Veuillez saisir le nom du service" $service = Get-Service -Name $serviceName -ErrorAction SilentlyContinue if ($service) { if ($service.Status -eq 'Running') { Stop-Service -Name $serviceName -Force Write-Output "Le service $serviceName a été arrêté." } elseif ($service.Status -eq 'Stopped') { Start-Service -Name $serviceName Write-Output "Le service $serviceName a été démarré." } } else { Write-Output "Le service $serviceName n'a pas été trouvé." }
Last modified: 16 October 2024