Question
Automatisation problème
- Benjamin Bauer
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 9 mois 1 semaine #34689
par Benjamin Bauer
Automatisation problème a été créé par Benjamin Bauer
Bonjour à tous,
Je suis sous windows 11, et par moment le réseau se déconnecte tout seul. J'ai donc demandé à chat gpt de m'aider en faisant un script automatisant la connexion à mon réseau Wifi lors du déverrouillage de ma session. Il m'a donné un script powershell a executer, combiné au planificateur de tâches.
Mais le script ne fonctionne pas, je ne sais pas pourquoi. Le script est ci-dessous.
# Vérifie l'état de la connexion Internet
function Test-InternetConnection {
try {
$ping = Test-Connection -ComputerName www.google.com -Count 1 -ErrorAction Stop
return $true
} catch {
return $false
}
}
# Active le Wi-Fi s'il est désactivé
function Enable-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "Wi-Fi"}
if ($wifiAdapter -and $wifiAdapter.Status -eq "Disabled") {
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
}
}
# Désactive puis réactive le Wi-Fi
function Restart-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "Wi-Fi" -and $_.Status -eq "Up" -or $_.Status -eq "Down"}
if ($wifiAdapter) {
Disable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
}
}
# Se connecte à un réseau spécifique
function Connect-ToWiFi {
param (
[string]$SSID
)
netsh wlan connect name=$SSID
}
# Exécution du script
Enable-WiFi
if (-not (Test-InternetConnection)) {
Restart-WiFi
Start-Sleep -Seconds 5
Connect-ToWiFi -SSID "Free Home_5Ghz"
}
Je vous remercie par avance.
Bonne journée à vous.
Cordialement,
BAUER Benjamin
Je suis sous windows 11, et par moment le réseau se déconnecte tout seul. J'ai donc demandé à chat gpt de m'aider en faisant un script automatisant la connexion à mon réseau Wifi lors du déverrouillage de ma session. Il m'a donné un script powershell a executer, combiné au planificateur de tâches.
Mais le script ne fonctionne pas, je ne sais pas pourquoi. Le script est ci-dessous.
# Vérifie l'état de la connexion Internet
function Test-InternetConnection {
try {
$ping = Test-Connection -ComputerName www.google.com -Count 1 -ErrorAction Stop
return $true
} catch {
return $false
}
}
# Active le Wi-Fi s'il est désactivé
function Enable-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "Wi-Fi"}
if ($wifiAdapter -and $wifiAdapter.Status -eq "Disabled") {
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
}
}
# Désactive puis réactive le Wi-Fi
function Restart-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "Wi-Fi" -and $_.Status -eq "Up" -or $_.Status -eq "Down"}
if ($wifiAdapter) {
Disable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
}
}
# Se connecte à un réseau spécifique
function Connect-ToWiFi {
param (
[string]$SSID
)
netsh wlan connect name=$SSID
}
# Exécution du script
Enable-WiFi
if (-not (Test-InternetConnection)) {
Restart-WiFi
Start-Sleep -Seconds 5
Connect-ToWiFi -SSID "Free Home_5Ghz"
}
Je vous remercie par avance.
Bonne journée à vous.
Cordialement,
BAUER Benjamin
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 9 mois 1 jour #34701
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Automatisation problème
Bonjour Benjamin,
Eh oui, pas facile de scripter avec l'IA... Que ce soit ChatGPT ou une autre. Il faut de mon point de vue maîtriser le sujet pour réellement gagner du temps. En effet l'IA hallucine parfois et invente des commandes qui n'existent pas ! Fichier attaché :
Cela étant dit, ça n'a pas l'air d'être le cas ici
.
Pourrais-tu être un peu plus précis et nous dire ce qui ne fonctionne pas ? As-tu testé le bon fonctionnement de chaque fonction individuellement ?
Arnaud
Eh oui, pas facile de scripter avec l'IA... Que ce soit ChatGPT ou une autre. Il faut de mon point de vue maîtriser le sujet pour réellement gagner du temps. En effet l'IA hallucine parfois et invente des commandes qui n'existent pas ! Fichier attaché :
Cela étant dit, ça n'a pas l'air d'être le cas ici
Pourrais-tu être un peu plus précis et nous dire ce qui ne fonctionne pas ? As-tu testé le bon fonctionnement de chaque fonction individuellement ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Francois Dunoyer
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 21
- Remerciements reçus 4
il y a 7 mois 3 semaines #34721
par Francois Dunoyer
Réponse de Francois Dunoyer sur le sujet Automatisation problème
En ce qui concerne ma config si je veux récupérer l'interface WIFI
c'est soit
$wifiAdapter = Get-NetAdapter | Where-Object {$_.Name -match "Wi-Fi"}
soit
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "WiFi"}
est ce que ton réseau WIFI interne s'appelle bien Free Home_5Ghz" ?
c'est soit
$wifiAdapter = Get-NetAdapter | Where-Object {$_.Name -match "Wi-Fi"}
soit
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "WiFi"}
est ce que ton réseau WIFI interne s'appelle bien Free Home_5Ghz" ?
Connexion ou Créer un compte pour participer à la conversation.
- Nazim Hassani
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 6 mois 3 semaines #34745
par Nazim Hassani
Réponse de Nazim Hassani sur le sujet Automatisation problème
j'ai travaillé un peu sur votre idée et j'ai essayé de faire en sorte de marcher votre script en le modifiant legerement
essayer cela et tenez moi au courant
# Vérifie l'état de la connexion Internet
function Test-InternetConnection {
try {
$ping = Test-Connection -ComputerName www.google.com -Count 1 -ErrorAction Stop
return $true
} catch {
return $false
}
}
# Active le Wi-Fi s'il est désactivé
function Enable-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.name -eq "Wi-Fi"}
if ($wifiAdapter -and $wifiAdapter.Status -eq "Disabled") {
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
}
}
# Désactive puis réactive le Wi-Fi
function Restart-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "Wi-Fi" -and $_.Status -eq "Up" -or $_.Status -eq "Down"}
if ($wifiAdapter) {
Disable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
}
}
function Search-WorkingProfile{
$profiles = @()
netsh wlan show profiles | ForEach-Object {
if ($_ -match ":\s*(.+)$") {
$profiles += $Matches[1].Trim()
}
foreach($SSID in $profiles){
netsh wlan connect name=$SSID ssid=$SSID|out-null
if($? -eq $true){
write-host "Successfully connected to $SSID"
break
}
}
}
}
# Se connecte à un réseau spécifique
function Connect-ToWiFi {
param (
[string]$SSID
)
netsh wlan connect name=$SSID
}
# Exécution du script
Enable-WiFi
if (-not (Test-InternetConnection)) {
Restart-WiFi
Start-Sleep -Seconds 5
Search-WorkingProfile
}
essayer cela et tenez moi au courant
# Vérifie l'état de la connexion Internet
function Test-InternetConnection {
try {
$ping = Test-Connection -ComputerName www.google.com -Count 1 -ErrorAction Stop
return $true
} catch {
return $false
}
}
# Active le Wi-Fi s'il est désactivé
function Enable-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.name -eq "Wi-Fi"}
if ($wifiAdapter -and $wifiAdapter.Status -eq "Disabled") {
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
}
}
# Désactive puis réactive le Wi-Fi
function Restart-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "Wi-Fi" -and $_.Status -eq "Up" -or $_.Status -eq "Down"}
if ($wifiAdapter) {
Disable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
}
}
function Search-WorkingProfile{
$profiles = @()
netsh wlan show profiles | ForEach-Object {
if ($_ -match ":\s*(.+)$") {
$profiles += $Matches[1].Trim()
}
foreach($SSID in $profiles){
netsh wlan connect name=$SSID ssid=$SSID|out-null
if($? -eq $true){
write-host "Successfully connected to $SSID"
break
}
}
}
}
# Se connecte à un réseau spécifique
function Connect-ToWiFi {
param (
[string]$SSID
)
netsh wlan connect name=$SSID
}
# Exécution du script
Enable-WiFi
if (-not (Test-InternetConnection)) {
Restart-WiFi
Start-Sleep -Seconds 5
Search-WorkingProfile
}
Connexion ou Créer un compte pour participer à la conversation.
- Nazim Hassani
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 6 mois 3 semaines #34746
par Nazim Hassani
Réponse de Nazim Hassani sur le sujet Automatisation problème
Désolé une erreur d'accolade voici l'update
# Vérifie l'état de la connexion Internet
function Test-InternetConnection {
try {
$ping = Test-Connection -ComputerName www.google.com -Count 1 -ErrorAction Stop
return $true
} catch {
return $false
}
}
# Active le Wi-Fi s'il est désactivé
function Enable-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.name -eq "Wi-Fi"}
if ($wifiAdapter -and $wifiAdapter.Status -eq "Disabled") {
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
}
}
# Désactive puis réactive le Wi-Fi
function Restart-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "Wi-Fi" -and $_.Status -eq "Up" -or $_.Status -eq "Down"}
if ($wifiAdapter) {
Disable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
}
}
function Search-WorkingProfile{
$profiles = @()
netsh wlan show profiles | ForEach-Object {
if ($_ -match ":\s*(.+)$") {
$profiles += $Matches[1].Trim()
}}
foreach($SSID in $profiles){
netsh wlan connect name=$SSID ssid=$SSID|out-null
if($? -eq $true){
write-host "Successfully connected to $SSID"
break
}
}
}
# Se connecte à un réseau spécifique
function Connect-ToWiFi {
param (
[string]$SSID
)
netsh wlan connect name=$SSID
}
# Exécution du script
Enable-WiFi
if (-not (Test-InternetConnection)) {
Restart-WiFi
Start-Sleep -Seconds 5
Search-WorkingProfile
}
# Vérifie l'état de la connexion Internet
function Test-InternetConnection {
try {
$ping = Test-Connection -ComputerName www.google.com -Count 1 -ErrorAction Stop
return $true
} catch {
return $false
}
}
# Active le Wi-Fi s'il est désactivé
function Enable-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.name -eq "Wi-Fi"}
if ($wifiAdapter -and $wifiAdapter.Status -eq "Disabled") {
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
}
}
# Désactive puis réactive le Wi-Fi
function Restart-WiFi {
$wifiAdapter = Get-NetAdapter | Where-Object {$_.InterfaceDescription -match "Wi-Fi" -and $_.Status -eq "Up" -or $_.Status -eq "Down"}
if ($wifiAdapter) {
Disable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
Start-Sleep -Seconds 3
Enable-NetAdapter -Name $wifiAdapter.Name -Confirm:$false
}
}
function Search-WorkingProfile{
$profiles = @()
netsh wlan show profiles | ForEach-Object {
if ($_ -match ":\s*(.+)$") {
$profiles += $Matches[1].Trim()
}}
foreach($SSID in $profiles){
netsh wlan connect name=$SSID ssid=$SSID|out-null
if($? -eq $true){
write-host "Successfully connected to $SSID"
break
}
}
}
# Se connecte à un réseau spécifique
function Connect-ToWiFi {
param (
[string]$SSID
)
netsh wlan connect name=$SSID
}
# Exécution du script
Enable-WiFi
if (-not (Test-InternetConnection)) {
Restart-WiFi
Start-Sleep -Seconds 5
Search-WorkingProfile
}
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.113 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Automatisation problème