[PowerShell] SysNetManager_AAZ.ps1 Automatiser les diagnostics réseau et la configuration système

Vous trouverez ici des scripts pour faciliter la gestion de votre ordinateur. Ils sont proposés tels quels par le rédacteur du message. La team ne vérifie pas la qualité de ces éléments et n'assure pas le support ni la maintenance. Vous les utilisez sous votre seule responsabilité.
Règles du forum
Pour les créateurs de scripts

Veuillez noter que les scripts que vous partagez ici sont proposés tels quels et la team ne vérifie pas leur qualité.
Nous vous rappelons que nous n'assurons ni le support ni la maintenance des scripts publiés.

Pour faciliter leur utilisation par les autres membres de la communauté, respectez ces consignes :
.
  • Utilisez les préfixes de langage pour taguer les messages.
  • Assurez-vous que vos scripts sont clairs et bien documentés
.
Merci de votre compréhension et de votre contribution.
Répondre
Avatar du membre
pboulanger
Administrateur du site
Administrateur du site
Messages : 1131
Enregistré le : mar. 17 mars 2020 11:49
A remercié : 104 fois
A été remercié : 110 fois
    Windows 10 Firefox

[PowerShell] SysNetManager_AAZ.ps1 Automatiser les diagnostics réseau et la configuration système

Message par pboulanger »

Bonjour,

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")
Ce que fait ce script
  • 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".
Comment s'en servir ?
  • 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.
En espérant que cela vous rende service,
Amicalement,

Pierre
Avatar du membre
curieuxdino
Membre Officiel
Membre Officiel
Messages : 99
Enregistré le : sam. 16 avr. 2016 03:07
A été remercié : 4 fois
    Windows 10 Firefox

Re: [PowerShell] SysNetManager_AAZ.ps1 Automatiser les diagnostics réseau et la configuration système

Message par curieuxdino »

Bizz ... j'ai tenté de l'utiliser et voila qu'une fenêtre Shell s'ouvre --- et se referme immédiatement. Rien de plus. Qu'est ce que je fais qui ne va pas.

Je l'ai nommé "Test" aux fins desquelles je voulais l'utiliser avec une extention .ps1

Merci
Processeur Intel Core i5-6500 CPU @ 3.20GHz
Mémoire installée 16 Go
Windows 11 Pro. 22h02
Avatar du membre
pboulanger
Administrateur du site
Administrateur du site
Messages : 1131
Enregistré le : mar. 17 mars 2020 11:49
A remercié : 104 fois
A été remercié : 110 fois
    Windows 10 Firefox

Re: [PowerShell] SysNetManager_AAZ.ps1 Automatiser les diagnostics réseau et la configuration système

Message par pboulanger »

Bonjour
Tu as encodé ton fichier avec quel code page ... Cela fonction avec le code page ANSI (Windows-1252) c'est le code natif de Windows.
Ne fonctionne pas avec le code page UTF 8 avec ou sans Boom.
Bonne journée
Amicalement,

Pierre
Avatar du membre
curieuxdino
Membre Officiel
Membre Officiel
Messages : 99
Enregistré le : sam. 16 avr. 2016 03:07
A été remercié : 4 fois
    Windows 10 Firefox

Re: [PowerShell] SysNetManager_AAZ.ps1 Automatiser les diagnostics réseau et la configuration système

Message par curieuxdino »

Merci Pierre, mais je n'ai pas l'ombre d'une idée de ce à quoi tu fais allusion.
J'ai ouvert un document texte avec Windows 11 puis j'ai collé le texte et ai enregistré en ps1.
Voila.
:-(
Processeur Intel Core i5-6500 CPU @ 3.20GHz
Mémoire installée 16 Go
Windows 11 Pro. 22h02
Avatar du membre
pboulanger
Administrateur du site
Administrateur du site
Messages : 1131
Enregistré le : mar. 17 mars 2020 11:49
A remercié : 104 fois
A été remercié : 110 fois
    Windows 10 Firefox

Re: [PowerShell] SysNetManager_AAZ.ps1 Automatiser les diagnostics réseau et la configuration système

Message par pboulanger »

Bonjour,

Regarde Ici viewtopic.php?t=44865

Bonne journée
Amicalement,

Pierre
disc0
Membre Officiel
Membre Officiel
Messages : 84
Enregistré le : lun. 16 oct. 2023 14:47
A remercié : 10 fois
A été remercié : 5 fois
    Windows 7 Firefox

Re: [PowerShell] SysNetManager_AAZ.ps1 Automatiser les diagnostics réseau et la configuration système

Message par disc0 »

Merci mister pboulanger pour le script :hai:
Répondre