Ich möchte jeden Tag um 23:30 (23:30) mehrere Macs ausschalten?

Ich habe dieses Problem in meinem Büro, dass mehrere Macs immer rund um die Uhr laufen und mein Chef sagte, dass ich es stoppen muss. Jetzt habe ich nicht viel Erfahrung mit Macs, ich bin eher der Windows-Typ.

Ich habe einen Mac, der als Server fungiert und möchte ein Skript oder ähnliches ausführen, um den Energiestatus mehrerer Computer zu orchestrieren, falls dies hilfreich ist.

Wie kann ich all diese 7-8 Macs um 23:30 Uhr aus der Ferne herunterfahren?

Es gibt tatsächlich eine Einstellung in den Systemeinstellungen, um zu einer bestimmten Zeit herunterzufahren. Wenn dies bei Ihnen nicht funktioniert (aus welchen Gründen auch immer): Fungiert der Mac als Server, auf dem "OSX Server" ausgeführt wird? Haben Sie die passwortlose Remote-Anmeldung über aktiviert ssh?
Warum müssen sie aufhören? Gehen sie nicht in den Schlafmodus?
Dies ist möglicherweise einfacher zu kontrollieren, wenn ein zentraler Mac auf OS X Server aktualisiert wird.

Antworten (3)

Wie patrix in einem Kommentar betont hat, können Sie jeden Mac so einrichten, dass er zu bestimmten Zeiten über die Systemeinstellungen -> Energiesparmodus -> Zeitplan ... gestartet oder aufgeweckt und in den Ruhezustand versetzt oder heruntergefahren wird.

Sie können auch versuchen, AppleScript zu verwenden, z. B. diesen Code (bearbeiten Sie ihn mit dem Skripteditor und speichern Sie ihn dann als Anwendung):

tell application id "com.apple.systemevents" -- System Events.app
    shut down
end tell

Verwenden Sie dann die Launch Services von OSX, um dieses Skript zu einem bestimmten Zeitpunkt auszuführen. Um dies einzurichten, könnten Sie ein kostenloses Tool wie "Lingon X" verwenden.

Außerdem, warum schaltest du sie so ab? Wenn es Ihnen nur darum geht, Strom zu sparen, warum richten Sie die Macs nicht stattdessen so ein, dass sie in den Ruhezustand wechseln, nachdem sie beispielsweise 30 Minuten lang im Leerlauf waren? Auf diese Weise schlafen sie normalerweise viel früher ein und sparen mehr Energie. Wenn sie nicht wie erwartet schlafen gehen, können Sie mit dem Terminal-Befehl überprüfen, pmset -gwas sie am Schlafen hindern könnte. Oft handelt es sich um einen ausstehenden Druckauftrag (den Sie dann vielleicht löschen möchten) oder gemountete Servervolumes.

+ für die Einbeziehung der robusteren Alternative, die den gleichen Effekt und mehr erzielt.
Die Internetfreigabe könnte auch verhindern, dass der Mac in den Ruhezustand versetzt wird

Sie können pmsetdies tun und es wird eine "einmalige und erledigte" Lösung sein.
Sobald Sie den pmsetBefehl ausgegeben haben, wird er gemäß dem von Ihnen festgelegten Zeitplan heruntergefahren/gestartet/aufgeweckt; Sie müssen kein Skript erstellen, das jedes Mal zu einer festgelegten Zeit ausgeführt wird.

pmsetverwendet dieses Format:

pmset schedule day/date time

Hier sind ein paar Beispiele:

  • pmset repeat sleep MTWRF 23:30:00versetzt den Mac wochentags um 23:30 Uhr in den Ruhezustand

  • pmset repeat poweroff MTWRF 23:30:00fährt den Mac wochentags um 23:30 Uhr herunter

  • pmset schedule shutdown "12/31/2016 23:59:00"fährt den Computer an Silvester um 23:59 Uhr herunter.

  • pmset repeat wakeorpoweron MTWRF 06:30:00weckt den Mac jeden Wochentag um 7:00 Uhr, damit er einsatzbereit ist, wenn der Mitarbeiter auftaucht.

Sie müssen dazu kein Skript verwenden, alles, was Sie tun müssen, ist, auf jeden der Macs (alle 7 oder 8) aus der Ferne zuzugreifen und den Befehl als Administrator auszugeben.

Wenn Sie jedoch ein Skript ausführen müssen, können Sie diesen Befehl zu einem einfachen Bash-Skript hinzufügen, das dem folgenden ähnelt:

#!/bin/bash

# Array of Mac hostnames separated by spaces
my_macs=(mac1 mac2 mac3 mac4)

#Steps through each hostname and issues SSH command to that host

for n in my_macs
do
   ssh admin@$n "pmset repeat sleep MTWRF 23:30:00"
done

exit 0

Denken Sie nun daran, dass das Skript zu Illustrationszwecken dient und technisch außerhalb des Rahmens dieser Antwort liegt. Ich wollte nur veranschaulichen, wie dies geschehen könnte.

Sie sollten darauf hinweisen, dass dies der Verwendung der Systemeinstellungen entspricht.

Wenn Sie mehrere Macs verwalten müssen, empfehle ich die Verwendung von Apple Remote Desktop . Es sollte es Ihnen ermöglichen, eine beliebige Anzahl von Standardeinstellungen auf die Macs zu übertragen, die Sie für Ihre Arbeit verwalten müssen, und es Ihnen ermöglichen, ein Skript zu schreiben und zu pflegen.

Auf jedem Computer müssen Sie Remote Managementin System Preferences.app > Sharing aktivieren. Danach können Sie jederzeit nach Bedarf anpassen.