Логин пользователя в атрибуте description

masterlol

Участник
Регистрация
13.07.24
Сообщения
4
Реакции
1
Групповая политика записывает логин последнего доменного пользователя, выполнившего вход в ОС, в атрибут description компьютера. Предполагается, что логин пользователя имеет формат user@domain.
YAML:
{% set id = 'rbta_ldap_custom_gp_host_description' %}
{% set node = salt['grains.get']('nodename') %}
{% set gpo = salt['pillar.get']('aldpro-hosts:' + node + ':' + id) %}

{% if gpo %}

{%- set host = salt['grains.get']('fqdn') %}
{%- set description = salt['cmd.run'](
    'last -w | grep "@" | head -n 1 | awk \'{print $1}\' | cut -d"@" -f1',
    python_shell=True
).strip() %}

{% if description %}

{{ id }}:
  cmd.run:
    - name: ipa host-mod '{{ host }}' --setattr=description='{{ description }}'
    - unless: ipa host-show '{{ host }}' --raw --all | grep 'description' | grep '{{ description }}'

{% endif %}
{% endif %}
 
Последнее редактирование:
Вариант если use_fully_qualified_names = False

Код:
{% set id = 'rbta_ldap_custom_gp_host_test_gpo' %}
{% set node = salt['grains.get']('nodename') %}
{% set gpo = salt['pillar.get']('aldpro-hosts:' + node + ':' + id) %}
{# Присваиваем переменной host полное доменное имя ПК #}
{%- set host = salt['grains.get']('fqdn') %}

{% set name_user = salt['cmd.run'](
    "last |  head -n 1 | awk '{print $1}'",
    python_shell=True
).strip() %}

{% if gpo %}

set_description:
    cmd.run:
        - name: ipa host-mod '{{ host }}' --setattr=description='Последний вход {{ name_user }}'
        - unless: ipa host-show '{{ host }}' --raw --all | grep 'description' | grep '{{ name_user }}'

{% endif %}
 
Команда last | head -n 1 | awk '{print $1}' обрезает логин до 8 символов

photo_2025-10-10_15-55-49.jpg

who | tail -n 1 | awk '{print $1}' должна выводить полный логин, но проверить пока нет возможности
 
Последнее редактирование:
Назад
Сверху Снизу