IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Eteindre automatiquement plusieurs Mac en réseau
Options
Amitafa MacUser
posté 31 Aug 2015, 12:22
Message #1


Nouveau Membre


Groupe : Membres
Messages : 1
Inscrit : 30 Aug 2015
Membre no 196 320



Bonjour,

Je possède plusieurs Mac chez moi dont un MacMini server sous Yosemite, ces Mac sont tous alimenté par le même onduleur un CyberPower CP alue 2200E USV 1260W 2200VA GreenPower line-int, que je recommande d'ailleurs, c'est une très bonne machine, totalement compatible avec les Mac, gestion d'énergie, arrêt du Mac programmable en fonction de la charge batterie.

Cet onduleur est raccordé par le port USB au MacMini server, en cas de panne du réseau EDF ce Mac reçoit donc les instruction de l'onduleur pour s'arrêter correctement au bout du temps programmé préalablement. Cela fonctionne parfaitement.

Néanmoins les autres Mac qui sont alimentés par cet onduleur ne reçoivent pas, bien évidemment, l'information de s'arrêter.

Je suis donc à la recherche d'une solution qui permettrait au MacMini server d'envoyer, par le réseau Ethernet, un ordre d'arrêt à tous les Mac, avant que celui-ci ne s'éteigne.

J'en profite pour remercier toutes les personnes connectées à ce Forum, j'ai souvent trouvé des réponses aux questions que je me posais.







Go to the top of the page
 
+Quote Post
Pascal 77
posté 31 Aug 2015, 12:40
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 3 052
Inscrit : 10 Oct 2005
Membre no 47 611



Citation (Amitafa MacUser @ 31 Aug 2015, 13:22) *
Bonjour,

Je possède plusieurs Mac chez moi dont un MacMini server sous Yosemite, ces Mac sont tous alimenté par le même onduleur un CyberPower CP alue 2200E USV 1260W 2200VA GreenPower line-int, que je recommande d'ailleurs, c'est une très bonne machine, totalement compatible avec les Mac, gestion d'énergie, arrêt du Mac programmable en fonction de la charge batterie.

Cet onduleur est raccordé par le port USB au MacMini server, en cas de panne du réseau EDF ce Mac reçoit donc les instruction de l'onduleur pour s'arrêter correctement au bout du temps programmé préalablement. Cela fonctionne parfaitement.

Néanmoins les autres Mac qui sont alimentés par cet onduleur ne reçoivent pas, bien évidemment, l'information de s'arrêter.

Je suis donc à la recherche d'une solution qui permettrait au MacMini server d'envoyer, par le réseau Ethernet, un ordre d'arrêt à tous les Mac, avant que celui-ci ne s'éteigne.

J'en profite pour remercier toutes les personnes connectées à ce Forum, j'ai souvent trouvé des réponses aux questions que je me posais.


La première idée qui me vienne à l'esprit serait un script sur chaque Mac avec l'instruction "shut down", et un autre script sur le serveur qui provoque le lancement du premier sur chaque machine connectée, je pense que c'est possible, mais je ne saurais pas faire le second script.


--------------------
Un Windows pour les gouverner tous, un Windows pour les trouver, et dans les ténèbres, les lier … Euuh je vais pitêt rester sur Mac !
Go to the top of the page
 
+Quote Post
PBell
posté 31 Aug 2015, 20:51
Message #3


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 264
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonsoir,
L'idée de Pascal est effectivement un bon début. Pour lancer un script sur une machine distante, il y a 2 méthodes possibles décrites dans le script ci-dessous.
La première est, de loin, la plus élégante et la plus sûre. Cependant, la seconde peut avoir un intérêt..parfois ...sans doute plus à titre didactique !

Tu dois bien sûr adapter pour ton accès à chaque Mac (nom, mot de passe) et sans doute boucler sur chaque Mac. Attention, tes mots de passe sont ici en clair (tu peux les lire dans un fichier sur ton Mini, mais ils restent visible pour toute personne qui aura accès au Mini :

CODE
-- lancer un script distant


-- première méthode : simple et propre
-- le script distant doit être sauvegardé sous forme d'application
on Lance_Distant1()
    -- défini le Mac distant
    copy "eppc://Le_User:[email protected]" to MacDistant  -- machine distante = ordinateur imac27 (nom réseau), utilisateur Le_User et mon de passe xxxx
    -- on lance l'application qui est un script sur la machine distante
    tell application "Finder" of machine MacDistant
        open file "Mini HD:Users:pcloche:Desktop:test2.app"
    end tell
end Lance_Distant1



-- seconde méthode : moins propre
-- simulation d'une connection SSH via le terminal
-- la simulation est faite via Keystroke
-- incovéniant majeur : il faut attendre la fin du script distant pour quitter le terminal
-- si le terminal est quitté avant, alors le script distant est interrrompu
property Serveur : "[email protected]"
property Mot_de_Passe : "xxxx"
property Mon_Script : "Desktop/Mon_Script.scpt" -- le script sur le Mac à commander est sur le bureau

on Lance_Distant2()
    tell application "Terminal"
        activate
        tell application "System Events"
            keystroke "ssh " & Serveur & return
            delay 2
            keystroke Mot_de_Passe & return
            delay 1
            keystroke "osascript " & Mon_Script & " &" & return
        end tell
        -- ne doit pas avoir fini avant la fin de l'applescript distant !!
        -- la fonction terminal "quite" interrompt tout les process en cours !!
        display dialog "Attendre la fin du script distant..."
        quit
    end tell
end Lance_Distant2


Il faut bien sûr que cela soit autorisé par la machine distante (voir préférence / partage).
Attention, avec Yosemite, la sécurité des scripts a été renforcée et il faut, dans un premier temps, vérifier que le script d'extinction local soit autorisé (en le lançant localement avec l'utilisateur adéquat).

Bon courage !


--------------------
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
Go to the top of the page
 
+Quote Post
yponomeute
posté 1 Sep 2015, 08:02
Message #4


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 969
Inscrit : 26 Jan 2011
Lieu : Pollachius virens
Membre no 164 083



Pour éteindre un mac il suffit de lui envoyer la commande shutdown à travers une connexion ssh

Code
ssh [email protected] shutdown


Mettre en place une authentification par clé ssh pour éviter de stocker des mots de passe en clair dans des scripts.

Ce message a été modifié par yponomeute - 1 Sep 2015, 08:04.


--------------------
MBP 2017 15" avec clavier pourri et touchbar inutile
Go to the top of the page
 
+Quote Post
trouspinette
posté 23 Sep 2015, 14:10
Message #5


Macbidouilleur d'Or !
*****

Groupe : Rédacteurs
Messages : 5 064
Inscrit : 19 Feb 2002
Lieu : BZH
Membre no 2 083



Citation (yponomeute @ 1 Sep 2015, 09:02) *
Pour éteindre un mac il suffit de lui envoyer la commande shutdown à travers une connexion ssh

Code
ssh [email protected] shutdown


Mettre en place une authentification par clé ssh pour éviter de stocker des mots de passe en clair dans des scripts.

J'abonde dans ce sens.

Le plus compliqué est de récupérer l'état renvoyé par l'onduleur : il existe un projet qui devrait t'aider


--------------------
Quis custodiet ipsos custodes ? - Lorsqu'un sujet est résolu, merci d'indiquer [Résolu] dans le titre de votre post !

Luttons contre le style SMS !!!

iPhone 14Pro Max 256 Go iOS 17• MacBook Pro 16 2019 Core i9 - macOS 12.7.2 - 32 GB RAM - 2 TB • @Orange
Linux • OPNSense / pfSense • Une pointe de Windows aussi • Enfocus Switch Expert • callas pdfToolBox
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th April 2024 - 09:57