Le script SysNetManager_AAZ.ps1, développé pour TEAM-AAZ, est un outil interactif conçu pour simplifier les tâches d'administration réseau et système.
Il permet de diagnostiquer le réseau, surveiller les connexions, gérer les utilisateurs locaux, configurer le pare-feu, vérifier les mises à jour, et afficher les informations système. Un assistant pratique et rapide pour optimiser votre gestion informatique.
A noter que ce script, sauf pour le choix 5 (Vérification des mises à jour du système), ne nécessite pas d'être lancé avec les droits administrateurs.
Le code commenté
Code : Tout sélectionner
# Nom : SysNetManager_AAZ.ps1
# Développé par : PiB pour TEAM-AAZ
# Version : 1.0.0.0.a
# Date : Janvier 2025
# Objectif : Automatiser les diagnostics réseau et la configuration système
# Fonction 1 : Diagnostic réseau rapide
function Perform-NetworkDiagnostics {
Write-Host "`n=== Diagnostic Réseau ===`n" -ForegroundColor Cyan
# Vérification de la connectivité Internet
Write-Host "Test de connectivité Internet en cours..."
Test-Connection -ComputerName google.com -Count 3 | Select-Object Address, Status | Format-Table
# Affichage de la configuration IP
Write-Host "`nConfiguration IP actuelle :"
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4Address, IPv6Address, DefaultGateway, DNSServer | Format-Table
}
# Fonction 2 : Surveillance des connexions réseau actives
function Monitor-ActiveConnections {
Write-Host "`n=== Connexions Réseau Actives ===`n" -ForegroundColor Cyan
# Affichage des connexions réseau actives
Get-NetTCPConnection | Sort-Object State | Format-Table LocalAddress, LocalPort, RemoteAddress, RemotePort, State
}
# Fonction 3 : Gestion des utilisateurs locaux
function Manage-LocalAccounts {
Write-Host "`n=== Gestion des Utilisateurs Locaux ===`n" -ForegroundColor Cyan
# Liste des utilisateurs locaux
Write-Host "Utilisateurs locaux disponibles :"
Get-LocalUser | Select-Object Name, Enabled | Format-Table
# Option pour créer un nouvel utilisateur
$createUser = Read-Host "`nSouhaitez-vous créer un nouvel utilisateur ? (O/N)"
if ($createUser -eq "O") {
$userName = Read-Host "Nom de l'utilisateur"
$password = Read-Host "Mot de passe (saisie masquée)" -AsSecureString
New-LocalUser -Name $userName -Password $password -PasswordNeverExpires -UserMayNotChangePassword -AccountNeverExpires
Write-Host "Utilisateur '$userName' créé avec succès." -ForegroundColor Yellow
}
}
# Fonction 4 : Configuration rapide du pare-feu
function Configure-WindowsFirewall {
Write-Host "`n=== Configuration Rapide du Pare-feu ===`n" -ForegroundColor Cyan
# Activer ou désactiver le pare-feu
$firewallAction = Read-Host "Voulez-vous activer (A) ou désactiver (D) le pare-feu ?"
if ($firewallAction -eq "A") {
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Write-Host "Pare-feu activé sur tous les profils." -ForegroundColor Yellow
} elseif ($firewallAction -eq "D") {
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Write-Host "Pare-feu désactivé sur tous les profils." -ForegroundColor Red
} else {
Write-Host "Choix non valide." -ForegroundColor Red
}
}
# Fonction 5 : Vérification des mises à jour système
function Check-SystemUpdates {
Write-Host "`n=== Vérification des Mises à Jour ===`n" -ForegroundColor Cyan
# Charger le module PSWindowsUpdate
Install-Module -Name PSWindowsUpdate -Force -ErrorAction SilentlyContinue
Import-Module PSWindowsUpdate
# Rechercher et afficher les mises à jour disponibles
Get-WindowsUpdate -ListOnly | Out-GridView -Title "Mises à jour disponibles"
}
# Fonction 6 : Informations système
function Display-SystemInfo {
Write-Host "`n=== Informations Système ===`n" -ForegroundColor Cyan
# Affichage des informations de base
Write-Host "Informations système de base :"
Get-ComputerInfo | Select-Object CsName, WindowsVersion, WindowsBuildLabEx, OsArchitecture | Format-Table
# Mémoire et processeur
Write-Host "`nDétails mémoire et processeur :"
Get-CimInstance -ClassName Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed | Format-Table
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object @{Name="Mémoire Totale (MB)";Expression={$_.TotalVisibleMemorySize/1MB -as [int]}}, @{Name="Mémoire Libre (MB)";Expression={$_.FreePhysicalMemory/1MB -as [int]}} | Format-Table
}
# Menu principal
function Show-Menu {
Clear-Host
Write-Host "=============================================" -ForegroundColor Cyan
Write-Host " SysNetManager_AAZ - Outil d'Administration " -ForegroundColor Cyan
Write-Host " Développé par PiB pour TEAM-AAZ " -ForegroundColor Cyan
Write-Host " Version : 1.0.0.0.a - Janvier 2025 " -ForegroundColor Cyan
Write-Host "=============================================" -ForegroundColor Cyan
Write-Host "1. Diagnostic réseau rapide"
Write-Host "2. Surveillance des connexions réseau"
Write-Host "3. Gestion des utilisateurs locaux"
Write-Host "4. Configuration rapide du pare-feu"
Write-Host "5. Vérification des mises à jour système (nécessite une connexion en Administrateur) "
Write-Host "6. Informations système"
Write-Host "7. Quitter"
Write-Host ""
$choice = Read-Host "Entrez votre choix"
return $choice
}
# Boucle principale
do {
$userChoice = Show-Menu
switch ($userChoice) {
"1" { Perform-NetworkDiagnostics }
"2" { Monitor-ActiveConnections }
"3" { Manage-LocalAccounts }
"4" { Configure-WindowsFirewall }
"5" { Check-SystemUpdates }
"6" { Display-SystemInfo }
"7" { Write-Host "Au revoir ! Merci d'avoir utilisé SysNetManager_AAZ." -ForegroundColor Yellow }
default { Write-Host "Choix invalide, veuillez réessayer." -ForegroundColor Red }
}
if ($userChoice -ne "7") {
Read-Host "Appuyez sur Entrée pour continuer..."
}
} while ($userChoice -ne "7")
- Diagnostic réseau rapide :
- Vérifie la connectivité Internet avec un ping vers google.com.
- Affiche la configuration réseau actuelle (IP, passerelle, DNS, etc.).
- Surveillance des connexions réseau actives :
- Liste toutes les connexions réseau TCP actives avec leurs adresses locales, ports distants et états.
- Gestion des utilisateurs locaux :
- Affiche la liste des utilisateurs locaux et leur statut (activé/désactivé).
- Offre la possibilité de créer un nouvel utilisateur avec un mot de passe sécurisé.
- Configuration rapide du pare-feu Windows :
- Permet d’activer ou de désactiver le pare-feu pour tous les profils (domaine, public, privé).
- Vérification des mises à jour système :
- Installe et utilise le module PowerShell PSWindowsUpdate.
- Recherche les mises à jour disponibles et les affiche dans une interface graphique.
- Informations système :
- Fournit les informations système de base (nom de l'ordinateur, version de Windows, architecture).
- Détaille les caractéristiques du processeur (nombre de cœurs, vitesse maximale).
- Affiche la mémoire totale et libre du système en Mo.
- Interface utilisateur :
- Menu principal interactif :
- Propose un menu avec 7 choix numérotés correspondant à chaque fonctionnalité.
- Permet de revenir au menu principal après chaque action.
- Affiche les informations sur le script : nom, auteur, version et date.
- Boucle principale :
- Exécute le menu jusqu’à ce que l’utilisateur choisisse l’option "Quitter".
- Menu principal interactif :
- Enregistrer le code dans un fichier txt avec l'extension .ps1 par exemple SysNetManager_AAZ.ps1
- Clic droit sur l'icône du fichier et commande Exécuter avec PowerShell
- Des messages de confirmation apparaissent au fur et à mesure de l'exécution du script
- Le script se ferme à la fin des opérations.