Я хочу выключать несколько компьютеров Mac каждый день в 23:30 (23:30)?

10

У меня есть проблема в моем офисе, когда несколько компьютеров Mac работают круглосуточно и без выходных, и мой начальник сказал, что мне нужно остановить его. Сейчас у меня нет большого опыта работы с Mac, я больше похож на Windows.

У меня есть один Mac, который действует как сервер и хотел бы запустить скрипт или что-то в этом роде, чтобы управлять состоянием питания нескольких компьютеров, если это поможет.

Как я могу отключить все эти 7-8 компьютеров Mac удаленно в 23:30?

SMaxTH
источник
6
На самом деле в Системных настройках есть настройка для отключения в определенное время. Если это не работает для вас (по какой-либо причине): Mac действует как сервер под управлением «OSX Server»? Вы включили удаленный вход без пароля через ssh?
склоне холма
1
Почему они должны остановиться? Разве они не переходят в спящий режим?
user151019
Это может быть легче контролировать, если центральный Mac обновлен до OS X Server.
Торбьерн Равн Андерсен

Ответы:

17

Как отметил Патрикс в комментарии, вы можете настроить любой Mac на запуск или пробуждение, а также на сон или выключение в определенное время, используя настройки системы -> Экономия энергии -> Расписание ....

Вы также можете попробовать использовать AppleScript, например, этот код (отредактируйте его с помощью Script Editor, затем сохраните как приложение):

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

А затем используйте службы запуска OSX для запуска этого сценария в определенный момент времени. Чтобы настроить это, вы можете использовать бесплатный инструмент, такой как «Lingon X».

Кроме того, зачем их закрывать? Если все, что вас волнует, это сохранить электроэнергию, то почему бы вместо этого не настроить Mac на переход в режим сна после простоя, скажем, 30 минут? Таким образом, они обычно ложатся спать намного раньше, экономя больше энергии. Если они не ложатся спать, как ожидалось, вы можете проверить с помощью команды терминала, pmset -gчто может помешать им спать. Часто это отложенная задача печати (которую вы можете затем удалить) или подключенные тома сервера.

Томас Темпельманн
источник
2
+ для включения более надежной альтернативы, которая достигает того же эффекта и больше.
Пизис
Интернет-совместное использование также может предотвратить Mac от сна
FrontENG
13

Вы можете использовать pmsetдля этого, и это будет решение «раз и навсегда».
После того, как вы введете pmsetкоманду, она завершит работу / запустится / пробудится по заданному вами расписанию; Вам не нужно будет создавать скрипт, который запускается в заранее определенное время каждый раз.

pmset использует этот формат:

pmset schedule day/date time

Вот несколько примеров:

  • pmset repeat sleep MTWRF 23:30:00 переводит Mac в будние дни в 23:30

  • pmset repeat poweroff MTWRF 23:30:00 закрывает Mac по будням в 11:30 вечера

  • pmset schedule shutdown "12/31/2016 23:59:00" выключает компьютер в 23:59 в канун Нового года.

  • pmset repeat wakeorpoweron MTWRF 06:30:00 разбудил Mac каждый будний день в 7:00, чтобы он был готов к работе, когда сотрудник появится.

Вам не нужно использовать скрипт для этого, все, что вам нужно сделать, это получить удаленный доступ к каждому из них (все 7 или 8) с Mac и выполнить команду от имени администратора.

Однако, если вам нужно запустить скрипт, вы можете добавить эту команду в простой скрипт bash, подобный следующему:

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

Теперь имейте в виду, что скрипт предназначен для иллюстративных целей и технически выходит за рамки этого ответа. Я просто хотел показать, как это можно сделать.

Аллан
источник
2
Вы должны указать, что это эквивалентно использованию Системных настроек.
Томас Темпельманн
4

Если вам нужно управлять кучей компьютеров Mac, я рекомендую использовать Apple Remote Desktop . Это должно позволить вам перенести любое количество стандартных настроек на компьютеры Mac, которыми вы хотите управлять для своей работы, и позволит вам избежать необходимости писать и поддерживать скрипт.

На каждой машине нужно включить Remote Managementв System Preferences.app> Общий доступ. После этого вы можете настроить в любое время.

CyberSkull
источник