You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux客户端自动关机任务配置:排除Active Directory组pan-sgg-dalas

修复Linux客户端自动关机任务排除AD组的脚本问题

原脚本的核心问题

  • 逻辑搞反:原代码是计算机在目标组就设置关机,但需求是排除该组,判断逻辑完全颠倒。
  • AD计算机名匹配失效:AD组中的计算机成员会带$后缀(比如PC01$),原脚本用hostname -s获取的短主机名无$后缀,无法匹配到组内计算机。
  • cron文件名非法:文件名包含冒号:可能导致系统解析异常,换成无特殊字符的名称更稳妥。
  • 语法小错误:else分支的提示语句中belong应改为第三人称单数belongs。

修复后的脚本

echo "设置自动关机时间,排除pan-sgg-dalas组的计算机"
# 获取带$后缀的短主机名,匹配AD组中的计算机成员格式
computer_name=$(hostname -s)$

# 判断计算机是否不在pan-sgg-dalas组中
if ! getent group pan-sgg-dalas | grep -q "$computer_name"; then
    # 写入合法文件名的cron任务
    echo "0 22 * * * root /sbin/shutdown -h now" > /etc/cron.d/shutdown_2200
    echo "已设置22:00自动关机"
else
    echo "该计算机属于pan-sgg-dalas组,不设置自动关机"
fi

注意事项

  • 必须以root身份运行脚本(比如sudo bash 你的脚本名.sh),否则无权限写入/etc/cron.d目录。
  • 先确认客户端已加入AD域,执行getent group pan-sgg-dalas能正常返回组成员列表,否则脚本判断会失效。
  • 验证任务生效:执行cat /etc/cron.d/shutdown_2200查看内容是否正确,或重启cron服务(systemctl restart cron)确保任务加载。

内容的提问来源于stack exchange,提问作者Ronin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 16:12:16