bash: Определяем принадлежность компьютера к группе active directory и в зависимости от этого выполняем действие

Необходимо раскинуть на все клиентские машины под управлением Alt Linux задачу автоматического выключения, кроме определенной группы компьютеров Active Directory pan-sgg-dalas. Самое близкое что нашел, это ниже в коде, но это проверяет принадлежность к группе УЗ пользователя, а не самого workstation.

echo "Установки времени отключения АРМ в 22:00, кроме группы pan-sgg-dalas"
# Проверяем, принадлежит ли компьютер к группе pan-sgg-dalas в Active Directory
if ! groups | grep -q pan-sgg-dalas; then
    # Устанавливаем время отключения на 22:00
    echo "0 22 * * * root /sbin/shutdown -h now" > /etc/cron.d/shutdown_22:00
    echo "Время отключения установлено на 22:00"
else
    echo "Компьютер принадлежит группе pan-sgg-dalas. Время отключения не установлено."
fi

В результате изысканий родилась версия скрипта номер 2

echo "Установки времени отключения АРМ в 22:00, кроме группы pan-sgg-dalas"

computer_name=$(hostname -s)
# Проверяем, принадлежит ли компьютер к группе pan-sgg-dalas в Active Directory

if getent group pan-sgg-dalas | grep -q "$computer_name"; then
    # Устанавливаем время отключения на 22:00
    echo "0 22 * * * root /sbin/shutdown -h now" > /etc/cron.d/shutdown_22:00
    echo "Время отключения установлено на 22:00"
else
    echo "Компьютер принадлежит группе pan-sgg-dalas. Время отключения не установлено."
fi

Ответы (1 шт):

Автор решения: Ronin
#!/bin/bash
echo "Установки времени отключения АРМ в 22:00, кроме группы pan-sgg-dalas"
computer_name=$(hostname -s)

# Проверяем принадлежность компьютера к группе pan-sgg-dalas в Active Directory
if getent group pan-sgg-dalas | grep -Fw -q "$computer_name"; then 
    echo "Компьютер принадлежит группе pan-sgg-dalas. Время отключения не установлено."
else 
    echo "0 22 * * * root /sbin/shutdown -h now" > /etc/cron.d/shutdown_22:00
    echo "Время отключения установлено на 22:00"
fi
→ Ссылка