Версия пакета: gpupdate-0.13.2-alt1 Шаги воспроизведения: 1. Включить механизмы создания ярлыков на управляющей машине в RSAT 2. Создать ярлык для пользователя и компьютера в RSAT с размещением в All Users/Рабочий стол 3. Выполнить gpupdate на клиентской машине Фактический результат: 2025-04-18 13:36:36.014|[E00053]| Fail for applying shortcut to file with '%'|{'dest_abspath': '%CommonDesktopDir%/test.desktop'} Ожидаемый результат: Выполнение gpupdate без ошибок ===== Набор переменных Windows, которыми мы оперируем в gpupdate, ограничен: def expand_windows_var(text, username=None): ''' Scan the line for percent-encoded variables and expand them. ''' variables = dict() variables['HOME'] = '/etc/skel' variables['HOMEPATH'] = '/etc/skel' variables['HOMEDRIVE'] = '/' variables['SystemRoot'] = '/' variables['StartMenuDir'] = '/usr/share/applications' variables['SystemDrive'] = '/' variables['DesktopDir'] = xdg_get_desktop(username, variables['HOME']) if username: variables['LogonUser'] = username variables['HOME'] = get_homedir(username) variables['HOMEPATH'] = get_homedir(username) variables['StartMenuDir'] = os.path.join( variables['HOME'], '.local', 'share', 'applications') result = text for var in variables.keys(): result = result.replace('%{}%'.format(var), variables[var] if variables[var][-1] == '/' else variables[var] +'/') return result Отсюда вытекают проблемы, когда пользователи задают в RSAT политику создания ярлыка с переменными вида %CommonDesktopDir% в путях. gpupdate просто не умеет с ними работать: 2025-04-18 13:36:36.014|[E00053]| Fail for applying shortcut to file with '%'|{'dest_abspath': '%CommonDesktopDir%/test.desktop'} К примеру, в Windows %CommonDesktopDir% - C:\Users\Public\Desktop, доступный для всех пользователей. Для Linux, возможно, прямого аналога нет, но всё же их надо как-то обрабатывать. Если с переменными вида %CommonDesktopDir% и %CommonStartMenuDir% ещё можно-что придумать (к примеру, настраивать их так же, как и DesktopDir, StartMenuDir), то вот с переменными вида %ProgramsDir% возникают проблемы. В таком случае, самым простым решением, как мне кажется, является проверка наличия ключа в списке обрабатываемых ключей. Если такого ключа нет - то мы задаём какой-то путь по умолчанию, к примеру %DesktopDir%. Предлагаю исправление - https://github.com/altlinux/gpupdate/pull/213