Script réseau

Gregoryen

Membre actif
Club iGen
16 Juin 2013
677
45
33
Arles
www.gregoryen.fr
Bonjour,

Je suis sur Mac, il est branché en Ethernet + Wifi à ma box.

J'utilise parfois le partage de connexion de mon iPhone pour certaines occasions, notamment pour télécharger des fichiers qui sont plus rapides que mon ADSL.

Seulement je suis obligé de mettre l'iPhone en haut de la liste dans l'ordre des services pour qu'il soit prioritaire sinon c'est la connexion Ethernet qui prend le relais.

Mais je n'ai pas envie de débrancher le câble Ethernet car mon bureau est disposé de sortes que c'est un peu inaccessible et pénible.

Est-il possible de créer un script, qui permet :

1- Mettre la WIFI en priorité
2- Si possible, se connecter au réseau " iPhone X de Gregoryen " sinon je ferais cette étape manuellement
3- Désactiver l'Ethernet

J'aurais juste à cliquer sur le fichier qui lance le script.

À l'inverse, j'aimerais un second script qui lui réactive l'Ethernet, le met en priorité, et qui se connecte en WIFI au wifi de ma box.

Merci de votre aide !
 
Pour être sûr d'utiliser le bon paramètre dans les commandes plus bas
Bloc de code:
networksetup -listallnetworkservices

Résultat :
Bloc de code:
An asterisk (*) denotes that a network service is disabled.
Connecteur C
Ethernet
Wi-Fi
Bluetooth PAN
Thunderbolt Bridge

La première commande désactive l'Ethernet, la seconde l'active :
Bloc de code:
networksetup -setnetworkserviceenabled "Ethernet" off
networksetup -setnetworkserviceenabled "Ethernet" on

Cela ne change rien à l'ordre des services. Chez moi il se remet bien en 2ème une fois réactivé :
Capture d’écran 2020-11-14 à 15.39.15.png

Pour le reste, je n'ai pas vu comment faire. Il faudrait chercher un peu plus.
 
il y a un moyen simple de réaliser ce que tu veux, c'est via les préférences réseau, onglet Configuration -> Modifier les configurations ajouter une nouvelle configuration (le + en bas) et de créer ton partage de connexion en sélectionnant le réseau, pour ça il faut que ton partage soit actif pour être paramétré . Ne pas oublier de cocher "Se connecter automatiquement à ce réseau"
Sans titre.jpeg

ensuite avec la commande
Bash:
scselect
tu peux basculer d'une config à une autre.

Bash:
iMac:~ GARKAM$ scselect
Defined sets include: (* == current set)
 * D5F4D48F-81C7-472E-90D8-548E80C2BE4A    (Automatic)
   2E1A33A7-4B8A-45A0-98DB-922E6C4AB9DF    (Maison)
iMac:~ GARKAM$ scselect Maison
CurrentSet updated to 2E1A33A7-4B8A-45A0-98DB-922E6C4AB9DF (Maison)
 
il y a un moyen simple de réaliser ce que tu veux, c'est via les préférences réseau, onglet Configuration -> Modifier les configurations ajouter une nouvelle configuration (le + en bas) et de créer ton partage de connexion en sélectionnant le réseau, pour ça il faut que ton partage soit actif pour être paramétré . Ne pas oublier de cocher "Se connecter automatiquement à ce réseau"
Voir la pièce jointe 198555

ensuite avec la commande
Bash:
scselect
tu peux basculer d'une config à une autre.

Bash:
iMac:~ GARKAM$ scselect
Defined sets include: (* == current set)
 * D5F4D48F-81C7-472E-90D8-548E80C2BE4A    (Automatic)
   2E1A33A7-4B8A-45A0-98DB-922E6C4AB9DF    (Maison)
iMac:~ GARKAM$ scselect Maison
CurrentSet updated to 2E1A33A7-4B8A-45A0-98DB-922E6C4AB9DF (Maison)

Merci !
En effet j'avais réalisé un truc un peu similaire, j'avais créé un deuxième Wifi dans le + en bas sans passer par la configuration. Je voulais faire en sorte qu'un premier WIFI soit associé a la Box et le deuxième à l'iPhone. Ensuite dans l'ordre de priorité j'ai mis :
Wifi iPhone > Ethernet > Wifi maison.

Ce que je voulais faire c'est que le premier Wifi ne se connecte pas automatiquement à la box, mais que sur le deuxième oui.

Seulement, ce paramètre de connexion auto s'applique sur les deux...

Pour ton astuce, ça me fait la même chose, que ce soit ma configuration de base, ou celle créé. Mais merci, je trouve ça plus propre et mieux !
Au pire je n'aurais qu'à sélectionner l'iPhone dans la wifi et lancer ce script ou le faire manuellement ;)

Pour la commande, il faudrait que j'arrive à rajouter le fait qu'il doit se connecter au Wifi XXX.

Merci !
 
As-tu regardé dans les paramètres Réseau -> Bouton Avancée... la liste des réseaux, si tu as les 2, box et partage iphone, supprime celui de la box.

EDIT: tu peux également supprimer tout les services dans la partie gauche pour ne garder que Wi-fi actif
 
Dernière édition:
As-tu regardé dans les paramètres Réseau -> Bouton Avancée... la liste des réseaux, si tu as les 2, box et partage iphone, supprime celui de la box.

EDIT: tu peux également supprimer tout les services dans la partie gauche pour ne garder que Wi-fi actif
Re EDIT : j'ai trouvé cette commande :
Bash:
networksetup -getinfo Wi-Fi | grep -q Subnet: || networksetup -setairportnetwork en1 "$ssid" "$password"
"$ssid" et "$password" a remplacer évidemment :)
 
As-tu regardé dans les paramètres Réseau -> Bouton Avancée... la liste des réseaux, si tu as les 2, box et partage iphone, supprime celui de la box.

EDIT: tu peux également supprimer tout les services dans la partie gauche pour ne garder que Wi-fi actif
Oui j'ai déjà fait cela mais ça m'enlève également la box quand je suis dans l'autre configuration.

J'ai essayé la commande, j'ai une erreur
Bloc de code:
en1 is not a Wi-Fi interface.
** Error: Error obtaining wireless information.
 
Ah merci ! J'ai essayé en2 mais je n'ai pas pensé au en0

Je penses que c'est la bonne commande puisque le terminal cherche.
Il m'a répondu :
Bloc de code:
Could not find network  X de Gregoryen.
Alors que mon iPhone s'appelle " iPhone X de Gregoryen " et je l'ai bien marqué dans la commande. Je vais essayer pour ma box sinon je penses que c'est bon ;)

Quand j'essaie pour les ID de la box, il me sort " zsh: event not found: XXXXX "

XXXX étant un bout de mon mot de passe contenant des caractères spéciaux. Pourtant il est bien dans les parenthèses.
 
Étrange, chez moi ça fonctionne, tu es sur de bien nommer le nom du réseau ??
Surveille ton icône wifi pour contrôler si il tente une connexion au bon réseau...
 
Oui le nom et le wifi correspondent bien. Après je suis sur Big Sur, et j'ai remarqués plusieurs bugs du style copier coller. Mon clavier USB Apple n'est pas reconnu par macOS. Il plante quand j'écris parfois, et le copier coller fonctionne 1 fois avant de plus rien coller...
Alors quand j'ai remplis mon ID et MDP j'ai bien fait attention de pas modifier les parenthèses etc car des fois il les remplace.

Même ta première commande je n'arrive pas a la faire fonctionner

Bloc de code:
Defined sets include: (* == current set)
 * D5F4D48F-81C7-472E-90D8-548E80C2BE4A    (Automatique)
   2E1A33A7-4B8A-45A0-98DB-922E6C4AB9DF    (iPhone)

Il me sort :

zsh: unknown file attribute:
zsh: unknown username 'oma'
zsh: unknown file attribute: i
 
Alors tu as une couille mais qui n'a rien a voir avec les commandes o_O
zsh: unknown username 'oma' ressemble étrangement à une partie de Automatique
et tout a l'heure :
Could not find network X de Gregoryen alors que ton réseau est iPhone X de Gregoryen
 
On va essayer autre chose, crée un fichier avec textedit avec comme texte la commande :
Bash:
networksetup -getinfo Wi-Fi | grep -q Subnet: || networksetup -setairportnetwork en0 "$ssid" "$password"
en remplacent le ssid et le password
Enregistre le sur ton bureau et fais un glisser / déposer dans ta fenêtre Ternimal
 
Bloc de code:
zsh: permission denied: /Users/gregoryen/Desktop/test.rtf
J'ai rajouté Administrateur et Everyone en Lecture et Ecriture dans les infos mais non.. Un chmod ? Le fichier texte peut-être lu ? Je pensais qu'il fallait faire un Shell ou un Batch.