Chcę wyłączyć wiele komputerów Mac codziennie o 23:30 (23:30)?

10

Mam problem w moim biurze, że wiele komputerów Mac zawsze działa 24 godziny na dobę, 7 dni w tygodniu, a mój szef powiedział, że muszę to zatrzymać. Teraz nie mam dużego doświadczenia z komputerami Mac, jestem raczej typem systemu Windows.

Mam jednego Maca, który działa jak serwer i chciałbym uruchomić skrypt lub coś takiego, aby zaaranżować stan zasilania kilku komputerów, jeśli to pomoże.

Jak mogę zdalnie zamknąć wszystkie te 7-8 komputerów Mac o godzinie 23:30?

SMaxTH
źródło
6
W Preferencjach systemowych jest tak naprawdę ustawienie zamykania w określonym czasie. Jeśli to nie zadziała (z jakiegokolwiek powodu): czy komputer Mac działa jak serwer z „OSX Server”? Czy włączyłeś zdalne logowanie bez hasła za pośrednictwem ssh?
nohillside
1
Dlaczego muszą przestać? Czy nie przechodzą w tryb uśpienia?
user151019,
Może to być łatwiejsze do kontrolowania, jeśli centralny komputer Mac zostanie uaktualniony do systemu OS X Server.
Thorbjørn Ravn Andersen

Odpowiedzi:

17

Jak zauważył Patrix w komentarzu, możesz skonfigurować dowolny komputer Mac, aby uruchamiał się lub budził, a także spał lub wyłączał się w określonych godzinach, za pomocą ustawień Preferencji systemowych -> Oszczędzanie energii -> Harmonogram ...

Możesz także spróbować użyć AppleScript, np. Tego kodu (edytuj go za pomocą Script Editor, a następnie zapisz jako aplikację):

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

Następnie użyj usług uruchamiania OSX, aby uruchomić ten skrypt w danym momencie. Aby to skonfigurować, możesz użyć bezpłatnego narzędzia, takiego jak „Lingon X”.

Poza tym, po co je tak zamykać? Jeśli zależy Ci tylko na oszczędzaniu energii elektrycznej, dlaczego nie ustawić komputerów Mac tak, aby przechodziły w tryb uśpienia po bezczynności, powiedzmy, przez 30 minut? W ten sposób zwykle idą spać znacznie wcześniej, oszczędzając więcej energii. Jeśli nie pójdą spać zgodnie z oczekiwaniami, możesz sprawdzić poleceniem Terminal, pmset -gco może uniemożliwić im spanie. Często jest to oczekujące zadanie drukowania (które możesz następnie usunąć) lub zamontowane woluminy serwera.

Thomas Tempelmann
źródło
2
+ za włączenie także bardziej niezawodnej alternatywy, która osiąga ten sam efekt i więcej.
Pysis
Udostępnianie Internetu może również uniemożliwić spanie
komputera
13

Możesz pmsetto zrobić, a będzie to rozwiązanie „gotowe”.
Po wydaniu pmsetpolecenia nastąpi zamknięcie / uruchomienie / wybudzenie zgodnie z ustalonym harmonogramem; nie będziesz musiał tworzyć skryptu, który będzie uruchamiany za każdym razem o określonej godzinie.

pmset używa tego formatu:

pmset schedule day/date time

Oto kilka przykładów:

  • pmset repeat sleep MTWRF 23:30:00 uśpienia Maca w dni powszednie o 23:30

  • pmset repeat poweroff MTWRF 23:30:00 wyłącza komputery Mac w dni powszednie o godzinie 23:30

  • pmset schedule shutdown "12/31/2016 23:59:00" wyłącza komputer o 23:59 w Sylwestra.

  • pmset repeat wakeorpoweron MTWRF 06:30:00 budzi komputer Mac każdego dnia tygodnia o 7:00, aby był gotowy do pracy, gdy pojawi się pracownik.

W tym celu nie trzeba używać skryptu, wystarczy zdalnie uzyskać dostęp do każdego komputera Mac (wszystkie 7 lub 8) i wydać polecenie jako administrator.

Jeśli jednak trzeba było uruchomić skrypt, można dodać to polecenie do prostego skryptu bash podobnego do następującego:

#!/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

Teraz pamiętaj, że skrypt służy do celów ilustracyjnych i technicznie nie wchodzi w zakres tej odpowiedzi. Chciałem tylko zilustrować, jak można to zrobić.

Allan
źródło
2
Należy zauważyć, że jest to odpowiednik korzystania z Preferencji systemowych.
Thomas Tempelmann,
4

Jeśli chcesz zarządzać wieloma komputerami Mac, zalecamy korzystanie z Apple Remote Desktop . Powinno to pozwolić na przesłanie dowolnej liczby standardowych ustawień na komputery Mac, którymi musisz zarządzać w pracy, oraz pozwolić uniknąć pisania i utrzymywania skryptu.

Na każdym komputerze musisz włączyć Remote Managementw System Preferences.app> Sharing. Następnie możesz dostosować w dowolnym momencie.

CyberSkull
źródło