Décaler légèrement le montage auto d'un lecteur réseau au démarrage [Résolu] |
Bienvenue invité ( Connexion | Inscription )
Décaler légèrement le montage auto d'un lecteur réseau au démarrage [Résolu] |
20 Jan 2023, 18:54
Message
#1
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Salut,
Sur le nouvel iMac M1 d'un client, sous Ventura, il y a un gros NAS connecté et son dossier principal se monte automatiquement au démarrage sur le MAC. Le souci que j'ai est que la requête du montage du lecteur réseau semble se faire avant la négociation du bail IP et donc ne monte pas et affiche une erreur. Quand je relance ca marche, normal vu que le bail est donné. ca monte un boot sur 3 ou 4 seulement. Le poste est en Wi-Fi, passant par une Livebox fibre. Le poste étant distant j'ai pas le moyen de passer le cabler en ethernet pour l'instant (faut-y pas être *c*o*n*, j'ai cherché rapidement le port RJ45 quand je l'ai installé, en vain, je me suis r rapidement dit "ca y est, ils ont passé les iMac en tout Wifi" - Sauf que le port RJ45 est dans le bloc d'alimentation externe, passant par le cordon électrique, cela semble encapsulé dans un espèce de PoE maintenant - Donc j'essayerais si il récupère plus rapidement le bail en ethernet, mais je pourrais aller sur place avant 2 semaines ) Bref, c'est pas vraiment gênant car on peut toujours le monter à la main, mais c'est "pas propre" - Et j'aime bien quand c'est propre. Y a t'il moyen de décaler de 10 secondes, ou de lui dire de monter une fois le bail ip obtenu et pas avant ? Merci et j'en profite pour vous souhaiter à tous une bonne année 2023 à tous Ce message a été modifié par _Panta - 20 Jan 2023, 18:57. -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
20 Jan 2023, 18:57
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 497 Inscrit : 4 Oct 2002 Membre no 3 936 |
Hello,
un montage par AppleScript avec un petit "delay" au début de quelques secondes pourrait faire l'affaire non ? L'AS devra être placé dans les ouvertures de session et basta. A+ Ce message a été modifié par fmereo - 20 Jan 2023, 18:57. |
|
|
20 Jan 2023, 19:03
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Hello, un montage par AppleScript avec un petit "delay" au début de quelques secondes pourrait faire l'affaire non ? A+ Oui je pensais à un truc du genre, ou modifier l'init. Code tell application "Finder" try mount volume "smb://URL_du_dossier_reseau" as user name "mon_login" end try delay 2 end tell Je vais essayer ça, cela vous semble correct ? Ou je commence par le delay ? Ce message a été modifié par _Panta - 20 Jan 2023, 19:06. -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
20 Jan 2023, 19:21
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Super, ça marche tres bien.
pas besoin, il s'enregistre au premier login du script, pas besoin de laisser en clair dans le script, ce qui n'est jamais une bonne chose Ce message a été modifié par _Panta - 20 Jan 2023, 19:43. -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
20 Jan 2023, 19:52
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 9 746 Inscrit : 9 Nov 2001 Lieu : Pays d’Aix Membre no 1 255 |
Super, ça marche tres bien. pas besoin, il s'enregistre au premier login du script, pas besoin de laisser en clair dans le script, ce qui n'est jamais une bonne chose Intéressant ! Du coup, peux-tu indiquer la nouvelle écriture d'AS sans le mdp ? -------------------- Mac Studio M1max 32 Go 1 To - Sonoma - Eizo 27" + Nec 21" - usage PAO
MBp14 M2pro 16 Go 1 To - Sonoma - iPhone 15 128 - iWatch 6 abonné VVMac |
|
|
20 Jan 2023, 20:30
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Oui, le voila.
Il faut donc bien commencer par le delay, car sinon il va créer un dossier sur le bureau mais le montera plus tard (j'ai associé une icône particulière à ce nas, et donc au lancement du script il créait le dossier bleu classique au nom du dossier distant, et 15sec plus tard l'icône du NAS apparait une fois monté - C'est donc plus propre en commençant par delay, ca me monte l'icône personnalisé après 15sec, mais directement et pas en 2 étapes. Il faut l'enregistrer en tant qu'app également, puis la glisser dans user/ouverture Code tell application "Finder" delay 15 try mount volume "smb://nas.xxxxx.com/xxxxx-nas" as user name "xxxxx" end try end tell Au premier lancement au prompt de login, cocher "mémoriser le mot de passe" et tout roule. Ce message a été modifié par _Panta - 20 Jan 2023, 20:37. -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
20 Jan 2023, 21:30
Message
#7
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Je l'ai un peu enrichi, 3 essais à 15/30/60 sec et abandon, avec notification.Je vais aussi lui mettre une petite alerte mail à mon encontre pour m'avertir d'un éventuel dysfonctionnement
Code tell application "Finder"
delay 15 try mount volume "smb://nas.xxxx.com/xxxx-nas" as user name "xxxx" on error display dialog "NAS Injoignable" & return & "Nouvel essai dans 30 secondes" try delay 30 mount volume "smb://nas.xxxx.com/xxxx-nas" as user name "xxxx" on error display dialog "NAS Injoignable" & return & "Dernier essai dans 60 secondes" try delay 60 mount volume "smb://nas.xxxx.com/xxxx-nas" as user name "xxxxx" on error display dialog "connexion impossible: " & return & "Abandon" return end try --dernier essai end try --second Esai end try --premier Essai end tell Ce message a été modifié par _Panta - 20 Jan 2023, 21:44. -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
20 Jan 2023, 21:44
Message
#8
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonsoir,
Une petite suggestion: au lieu d'attendre systématiquement 15 ou 20 secondes avec la commande delay, on pourrait tester si le Mac est connecté ou pas. Lorsque le Mac est connecté (Ethernet ou Wifi), la commande shell "ifconfig" renvoie en principe le masque réseau et l'adresse broadcast. En associant cette commande à la commande grep pour filtrer le résultat, on obtient soit une chaine vide (pas connecté) soit une chaine non vide (avec l'adresse Ip, le masque et l'adresse broadcast). Le script ci-dessous boucle en attendant que la connexion se fasse ou s'arrête après 20 secondes (si il n'y a aucun réseau). CODE set NbEssais to 20 -- 20 secondes max ! set T to 0 set R to "" repeat until (T > NbEssais) or (R is not "") delay 1 set T to T + 1 set R to do shell script "ifconfig -m | grep broadcast" end repeat A la fin de ce script, si R est vide, tu dois signaler une erreur (ou arrêter le script ?), sinon, tu peux mettre la suite de ton script avec le mount de ton NAS. Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
20 Jan 2023, 23:23
Message
#9
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Bonsoir, Une petite suggestion: au lieu d'attendre systématiquement 15 ou 20 secondes avec la commande delay, on pourrait tester si le Mac est connecté ou pas. Lorsque le Mac est connecté (Ethernet ou Wifi), la commande shell "ifconfig" renvoie en principe le masque réseau et l'adresse broadcast. En associant cette commande à la commande grep pour filtrer le résultat, on obtient soit une chaine vide (pas connecté) soit une chaine non vide (avec l'adresse Ip, le masque et l'adresse broadcast). Le script ci-dessous boucle en attendant que la connexion se fasse ou s'arrête après 20 secondes (si il n'y a aucun réseau). Code set NbEssais to 20 -- 20 secondes max ! set T to 0 set R to "" repeat until (T > NbEssais) or (R is not "") delay 1 set T to T + 1 set R to do shell script "ifconfig -m | grep broadcast" end repeat A la fin de ce script, si R est vide, tu dois signaler une erreur (ou arrêter le script ?), sinon, tu peux mettre la suite de ton script avec le mount de ton NAS. Cordialement C'est effectivement bien plus élégant, je vais tester ta solution.Merci J'ai rajouté une alerte iMessage à mon script précédent plutôt qu'un mail, et ça marche nickel. -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
21 Jan 2023, 00:06
Message
#10
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Alors j'y suis presque, une fois qu'il chope l'ip le nas se monte, mais ca coince si je n'ai pas de connection, j'ai immédiatement et pas après 20 secondes une erreur "la commande s'est arrêté avec un état non nul" (car R est vide) et semblent pas boucler, l'alerte iMessage n'est pas envoyé. Je corrige comment ?
Code set NbEssais to 20 -- 20 secondes max !
set T to 0 set R to "" repeat until (T > NbEssais) or (R is not "") delay 1 set T to T + 1 set R to do shell script "ifconfig -m | grep broadcast" end repeat tell application "Finder" try mount volume "smb://nas.lxxxxx.com/xxxx-nas" as user name "xxxxx" on error display dialog "NAS Injoignable" tell application "Messages" set targetBuddyPhone to "+336xxxxx" set targetMessage to "Erreur de connexion au NAS" set targetService to 1st account whose service type = iMessage set targetBuddy to participant targetBuddyPhone of targetService send targetMessage to targetBuddy end tell end try end tell Ce message a été modifié par _Panta - 21 Jan 2023, 00:07. -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
21 Jan 2023, 08:47
Message
#11
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 264 Inscrit : 7 Dec 2013 Lieu : Ile de France Membre no 188 169 |
Bonjour,
Si, à l'issue des 20 tentatives (donc 20 secondes), R est toujours vide, c'est que l'établissement de la connexion est soit impossible, soit très lent. Si je suppose qu'il est très lent, je commencerai pas augmenter le nombre de tentatives: pour cela, il suffit d'augmenter la valeur de la variable NbEssais de 20 à...30 ? Bien que ne connaissant pas ton réseau, il me semble toutefois surprenant que ton serveur DHCP mette plus de 20s pour répondre. Mais peut être as tu un réseau particulier ? Le dernier cas est que ton Mac ne se connecte pas du tout (absence de réseau ou toutes autres raisons). Dans ce cas, ton script ne doit pas chercher à monter le NAS, mais s'arrêter avec une alerte. Il te suffit d'ajouter au script un test if sur la valeur de R. J'ai repris l'essentiel de ton script, mais j'ai mis le bloc d'envoi du message et l'information à l'utilisateur en sous routine ("Handler" pour les puristes). Cela me permet de l'appeler 2 fois avec des messages différents selon l'origine du problème. Dans le cas où la connexion réseau est faite, mais la connexion au NAS ne se fait pas, j'ai mis un message qui me semble plus explicite avec la valeur de R. A toi d'adapter. CODE set NbEssais to 20 -- 20 secondes max ! set T to 0 set R to "" repeat until (T > NbEssais) or (R is not "") delay 1 set T to T + 1 set R to do shell script "ifconfig -m | grep broadcast" end repeat if R = "" then envoie_erreur("Connexion au réseau impossible après " & NbEssais & " tentatives.") return -- fin du script end if try tell application "Finder" to mount volume "smb://nas.lxxxxx.com/xxxx-nas" as user name "xxxxx" on error envoie_erreur("Connection NAS impossible, malgré la connexion au réseau: " & R) end try on envoie_erreur(Mtexte) display dialog "NAS Injoignable" tell application "Messages" set targetBuddyPhone to "+336xxxxx" set targetMessage to Mtexte set targetService to 1st buddy whose service type = iMessage set targetBuddy to participant targetBuddyPhone of targetService -- erreur de compilation chez moi ! send targetMessage to targetBuddy end tell end envoie_erreur J'ai une erreur de compilation sur la ligne indiquée en commentaire. Mais comme elle fonctionne dans ton script, je l'ai laissée. Enfin, il se peut que ton réseau aie des caractéristiques très particulières (surtout ton serveur DHCP). Dans ce cas, dis moi quelle valeur de R tu récupères. Ultime hypothèse: ta connexion réseau se fait, ton NAS (ou ton routeur) sont particulièrement lents à répondre (vraiment lents !) Tu pourrais envisager de faire une boucle sur le mount pour faire plusieurs tentatives et n'envoyer l'erreur qu'à l'issue du nombre de tentatives choisi. Pour cela, c'est la partie try/end try qui doit être mise en boucle Repeat until/End repeat, similaire à la boucle de connexion réseau. Cordialement -------------------- iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8 iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11 Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8 |
|
|
21 Jan 2023, 14:36
Message
#12
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
Alors
Merci beaucoup, c'est nickel. Je n'avais fait d'Apple script depuis une bonne dizaine d'année, le dernier pour le montage d'un ram disque, avec sauvegarde du contenu et reintegration au bout. Les tests que je faisais la nuit dernière étaient en distant, donc resolution dns du domaine pour l'afficher chez moi, sur une machine qui elle même tapait le NAS en distant (l'iMac du client est chez lui, mais pas sur site du NAS); la j'ai pushé le script sur l'iMac distant, et après une demi douzaine de reboot test sans aucune erreur , on peut consider que c'est parfait, j'ai plus de souci. Un avantage collatérale (y a pas que des damages) par rapport à un classique montage du volume par MacOS, c'est qu'il n'ouvre pas le fenêtre du dossier monté. Il récupère rapidement l'icône personnalisé, et pas besoin de fermer le finder. Comme j'en monte 3, 3 clics de moins . Et c'est plus propre. Merci d'avoir pris le temps, j'apprécie -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
Nous sommes le : 26th April 2024 - 07:33 |