Скрипт выключения машин после 21 00
Есть несколько машин на винде и линуксе, подскажите несколько способов как можно написать скрипт, который будет выключать эти машины после 21 00
Ясно, что нужно написать poweroff и shutdown, но машин много, есть ли способ как-то автоматизировать процесс набирания ip-адресов (или по-другому указывать машины)
Я полагаю, что это можно сделать через домен (как раз некоторые машины к нему и подключены), или через ssh
Да, Вы правы, можно сделать это через домен или SSH. Вот несколько возможных вариантов решения задачи:
1. Использование списка IP-адресов и цикла в Bash:
#!/bin/bash
for ip in 192.168.1.{1..254}; do
if ping -c1 -w1 $ip &>/dev/null; then
ssh user@$ip 'shutdown -h now'
fi
done
Этот скрипт будет пинговать все IP-адреса в диапазоне 192.168.1.1-192.168.1.254 и, если машина отвечает, запускать команду SSH для выключения.
2. Использование списка IP-адресов и Ansible:
Ansible - это система управления конфигурацией и автоматизации, которая может использоваться для автоматического запуска команд на нескольких удаленных машинах. Вот пример файла hosts, который содержит список IP-адресов:
[webservers]
192.168.1.10
192.168.1.11
192.168.1.12
Затем можно написать простой Playbook для Ansible, который использует модуль command для выполнения команды shutdown на каждом хосте:
- hosts: webservers
tasks:
- name: Shut down the machine
command: shutdown -h now
3. Использование группы в Active Directory и PowerShell:
Если компьютеры присоединены к домену Active Directory, можно создать группу, в которую добавляются все компьютеры, которые нужно выключить, а затем использовать PowerShell для выполнения команды Stop-Computer на всех компьютерах в группе:
Import-Module ActiveDirectory
$GroupName = "Выключаемые компьютеры"
$Computers = Get-ADComputer -Filter {MemberOf -eq $GroupName} | Select-Object -ExpandProperty Name
foreach ($Computer in $Computers) {
Stop-Computer -ComputerName $Computer -Force
}
Как видите, есть несколько способов автоматизировать процесс выключения нескольких машин. Какой вариант выбрать, зависит от Ваших потребностей и наличия соответствующей инфраструктуры.