Кажется, что Вы смогли бы выполнить это, просто используя Групповые политики. Если необходимо измениться, указывают значения реестра, которыми уже не управляет редактор групповой политики, возможно, можно просто создать .reg файлы со значениями, Вы требуете и применяете их использующий сценарии входа в систему.
ss -lnptu передан на awk с вызовом ps -p. Я использую мобильное устройство, поэтому сейчас немного сложно напечатать полный пример.
Прослушивание сокетов:
ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
Все сокеты (вероятно, потребуется дополнительная фильтрация из-за сокетов без информации о процессе в TIME_WAIT и т. д.):
ss -anptu state listening state established state connected state unconnected | grep -v TIME_WAIT | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
@ylluminate, для CentOS измените его на ss -lnptu | awk 'NR> 1 {split ($ 6, p, ","); printf "Слушайте:" $ 4 "Команда:"; система ("ps --no-headers -o args p" p [2]); } '
Я получал ошибки из ps
в Ubuntu 16.04 при использовании Mark Ответ Стерджилла как есть. Потребовалась небольшая модификация, чтобы заставить его работать: в основном добавлен дополнительный разделение
для дальнейшей изоляции числового PID от объединенного формата, который возвращает ss
(например, pid = 1306 -> 1306
). Я также добавил флаг -ww
, чтобы ps выводил полные аргументы:
ss -lnptu | awk 'NR>1 { split($7,p,","); split(p[2],pid,"="); printf "Listen: "$5 " Command: "; system("ps --no-headers -ww -o args p "pid[2]); }'