Parfait Jeff 🙌 !
Je vais te coller directement tous les scripts un par un, classés en deux parties :
1. Ubuntu Server (Bash)
2. Windows Server (PowerShell)
🔹
Ubuntu Server – Scripts Bash
1. Ajouter un utilisateur
#!/bin/bash
read -p "Nom de l'utilisateur: " u
sudo useradd -m $u
sudo passwd $u
echo "Utilisateur $u créé."
2. Supprimer un utilisateur
#!/bin/bash
read -p "Nom de l'utilisateur à supprimer: " u
sudo userdel -r $u
echo "Utilisateur $u supprimé."
3. Lister tous les utilisateurs
#!/bin/bash
cut -d: -f1 /etc/passwd
4. Vérifier CPU & Mémoire
#!/bin/bash
echo "Usage CPU:"
top -b -n1 | head -n 10
echo "Mémoire:"
free -h
5. Vérifier espace disque
#!/bin/bash
df -h
6. Processus les plus gourmands
#!/bin/bash
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 10
7. Sauvegarde simple d’un dossier
#!/bin/bash
src=/home/user/data
dest=/home/user/backup
mkdir -p "$dest"
tar -czf "$dest/backup_$(date +%F).[Link]" "$src"
echo "Sauvegarde terminée."
8. Synchronisation avec
rsync
#!/bin/bash
rsync -av --delete /home/user/data/ /mnt/backup/
9. Nettoyage fichiers temporaires
#!/bin/bash
sudo rm -rf /tmp/*
echo "Fichiers temporaires supprimés."
10. Vérifier connectivité (ping)
#!/bin/bash
read -p "Hôte: " h
ping -c 4 $h
11. Scanner les ports (nmap)
#!/bin/bash
read -p "IP cible: " ip
nmap -p 1-65535 $ip
12. Afficher interfaces réseau
#!/bin/bash
ip addr show
13. Redémarrer une interface réseau
#!/bin/bash
read -p "Interface: " iface
sudo ip link set $iface down
sleep 1
sudo ip link set $iface up
14. Vérifier le statut d’un service
#!/bin/bash
read -p "Service: " s
systemctl status $s
15. Action sur un service
#!/bin/bash
read -p "Service: " s
read -p "Action (start/stop/restart): " a
sudo systemctl $a $s
16. Lire les dernières lignes d’un log
#!/bin/bash
read -p "Logfile: " f
tail -n 50 $f
17. Rechercher dans un log
#!/bin/bash
read -p "Mot: " m
read -p "Logfile: " f
grep -i $m $f
18. Générer un rapport système
#!/bin/bash
out=/var/log/rapport_$(date +%F).txt
echo "Rapport du " $(date) > $out
df -h >> $out
free -h >> $out
top -b -n1 | head -n 10 >> $out
echo "Rapport généré: $out"
19. Mettre à jour le système
#!/bin/bash
sudo apt update && sudo apt upgrade -y
20. Vérifier si un port est ouvert
#!/bin/bash
read -p "Port: " p
ss -tuln | grep :$p
21. Surveiller les connexions réseau
#!/bin/bash
watch -n 2 ss -tulnp
22. Voir les tentatives de connexion échouées
#!/bin/bash
grep "Failed password" /var/log/[Link] | tail -n 20
🔹
Windows Server – Scripts PowerShell
1. Ajouter un utilisateur
New-LocalUser -Name "TestUser" -Password (Read-Host -AsSecureString "Mot de
passe")
2. Supprimer un utilisateur
Remove-LocalUser -Name "TestUser"
3. Lister tous les utilisateurs
Get-LocalUser
4. Vérifier CPU & mémoire
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
5. Vérifier espace disque
Get-PSDrive -PSProvider FileSystem
6. Processus les plus gourmands
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
7. Sauvegarde simple d’un dossier
Compress-Archive -Path C:\Data -DestinationPath C:\Backup\backup_$(Get-Date
-Format yyyy-MM-dd).zip
8. Synchronisation avec Robocopy
Robocopy C:\Data C:\Backup /MIR
9. Nettoyage fichiers temporaires
Remove-Item C:\Windows\Temp\* -Recurse -Force
10. Vérifier connectivité (ping)
Test-Connection [Link] -Count 4
11. Vérifier un port
Test-NetConnection -ComputerName localhost -Port 80
12. Afficher interfaces réseau
Get-NetIPAddress
13. Redémarrer une interface
Restart-NetAdapter -Name "Ethernet0"
14. Vérifier le statut d’un service
Get-Service -Name "Spooler"
15. Action sur un service
Restart-Service -Name "Spooler"
16. Lire les dernières lignes d’un log
Get-Content C:\Windows\System32\LogFiles\*.log -Tail 50
17. Rechercher dans un log
Select-String -Path C:\Logs\*.log -Pattern "error"
18. Générer un rapport système
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 | Out-
File C:\Logs\report_$(Get-Date -Format yyyy-MM-dd).txt
19. Mettre à jour le système
Install-WindowsUpdate -AcceptAll -IgnoreReboot
20. Vérifier si un port est ouvert
Test-NetConnection -ComputerName localhost -Port 443
21. Voir les tentatives de connexion échouées
Get-EventLog Security -Newest 20 | Where-Object {$_.Message -like
"*Failed*"}
22. Surveiller les connexions réseau
Get-NetTCPConnection | Select-Object
LocalAddress,LocalPort,RemoteAddress,RemotePort,State