С помощью групповых политик вы можете создать ярлык на определенное приложение на рабочем столе всех (или только определенных) пользователей домена. GPO позволяют вам создать ярлык как на локально-установленное приложение, URL адрес, исполняемый файл в сетевой папке или на контроллере домена в NetLogon.
В этом примере мы покажем, как создать несколько ярлыков на рабочем столе пользователя с помощью предпочтений групповых политик (Group Policy Preferences — доступны начиная с Windows Server 2008R2). Аналогичным образом вы можете создать ярлыки в меню Пуск Windows 10 или панели быстрого доступа.
- Откройте консоль управления Group Policy Management Console (gpmc.msc), щелкните ПКМ по контейнеру AD, к которому нужно применить политику создания ярлыка и создайте новую политику (объект GPO) с именем CreateShortcut;
- Щелкните ПКМ по созданной политике и выберите “Edit”;
- Перейдите в раздел предпочтений групповых политик (Group Policy Preferences) User Configuration –> Preferences -> Windows Settings -> Shortcuts. Щелкните по пункту и выберите New -> Shortcut;
- Создайте новый ярлык со следующими настройками:
Action: Update
Name: TCPViewShortcut (имя ярлыка)Target Type: File System Object (здесь также можно выбрать URL адрес или объект Shell)Location: DesktopВ этом примере мы поместим ярлык только на рабочий стол текущего пользователя. Здесь можно выбрать, что ярлык нужно поместить в меню Пуск (Start Menu), в автозагрузку (Startup), или на рабочий стол всех пользователей этого компьютера (All User Desktops)Target Path: C:\Install\TCPView\Tcpview.exe (путь к файлу, на который нужно создать ярлык)Icon file path: C:\Install\TCPView\Tcpview.exe (путь к иконке ярлыка)
- Если вы выбрали, что ярлык нужно поместить на Рабочий стол текущего пользователя (Location = Desktop) , на вкладке “Common” нужно включить опцию “Run in logged-on user’s security context (user policy option)”;
- Дополнительно с помощью Group Policy Targeting вы можете указать для какой доменной группы пользователей нужно создавать ярлык. Включите опцию “Item-level targeting”, нажмите кнопку “Targeting”. Выберите New Item -> Security Group и выберите доменную группу пользователей. В результате ярлык будет появляться только у пользователей, добавленных в указанную группу безопасности Active Directory;
- Если нужно создать ярлык программы в Public профиле (для всех пользователей компьютера), выберите опцию Location = All User Desktop (опцию “Run in logged-on user’s security context” нужно отключить, т.к. у обычных пользователей нет прав для модификации Public профиля);
- Сохраните изменения, обратите внимание, что в консоли GPO отображается переменные окружения для Desktop (%DesktopDir%) и %CommonDesktopDir% для All User Desktop;
- Обновите политики на клиентах (gpupdate /force или логофф/логон).Если вы назначили GPO на Organizational Unit с компьютерами (не пользователями), нужно дополнительно включить опцию замыкания GPO. Установите Configure user Group Policy loopback processing mode = Merge в секции Computer Configuration -> Policies -> Administrative Templates -> System -> Group Policy;
- После обновления политик на рабочем столе пользователя должен появится новый ярлык.
В одной политике вы можете добавить несколько правил для создания ярлыков приложений для разных групп пользователей, компьютеров или OU (можно настроить различные критерии применения политики ярлыка с помощью GPP Item Level Targeting).
Добавим на рабочий стол всех пользователи ярлык LogOff, позволяющий быстро завершить сессию.
Создайте новый элемент политики с параметрами:
- Name = “Log Off”
- Location = “All Users Desktop”
- Target Path = C:\Windows\System32\logoff.exe или C:\Windows\System32\shutdown.exe с аргументом /l
- Icon File Path = %SystemRoot%\System32\SHELL32.dll. (Воспользуемся стандартной библиотекой с типовыми иконками Windows. Выберите понравившуюся иконку в dll файле. Ее индекс будет подставлен в поле Icon Index.)
Я бы еще добавил, что находясь в окне создания ярлыка и поля с указанием пути, можно нажать F3, чтобы получить список доступных для указания переменных, т.к. они отличаются от используемых в системах.
И обратить внимание на чекбокс Resolve Variable. В некоторых задачах может потребоваться указать переменную без преобразования в путь.
Про F3 спасибо, а вот про Resolve Variable не понял. Это где такой?
Я создаю ярлыки на «Общем рабочем столе» (для всех пользователей) следующим образом:
1. Выбираю «Computer Configuration»
2. Вручную ввожу путь размещения ярлыка %Public%\Desktop\[требуемое имя ярлыка].
Таким образом ярлык создается при включении компьютера
Пробовал в Computer Configuration выбирать настройку All Users Desktop, но так у меня политика применялась, я ярлык не создавался.
Уровень домена: 2008R2
Т.е. не срабатывает именно встроенная переменная окружения «All Users Desktop». А какая ОС на клиентах?
Если политика назначена, но ярлык не создается, смотрите события в журнале Application от источника Group Policy Shortcuts.
Один раз у меня была ошибка
The computer 'xx' preference item in the 'xxxx' Group Policy Object did not apply because it failed with error code '0x80070002 The system cannot find the file specified.' This error was suppressed.
Проблема была в том, что был указан неправильный путь к файлы (с кавычками).
Второй раз:
The user 'xxx' preference item in the 'xxxxx' Group Policy Object did not apply because its targeting item failed with error code '0x80072af9 No such host is known.' This error was suppressed.
— неправильные настройки item level targeting.При этом в отчете gpresult была ошибка:
Result: Failure (Error Code: 0x80070002)
В GPO «Конфигурация компьютера» пытался распространить ярлык на сетевую папку в общем рабочем столе на компьютеры в домене. Ярлык не создавался.
После изучения англоязычных форумов — выяснил что нужно дать доступ на чтение к расшаренной папке на группу компьютеров «Компьютеры домена», в «Разрешения для общего ресурса».
Теперь ярлык создается корректно. Даже на Windows 10, с переменной %CommonDesktopDir%.
а если я хочу распространить ярлык на программу скажем которая не установлена на данном контроллере ,а она сама находится на конечных терминалов и ярлык находится в шаре
какие права нужно выдать чтобы политика отрабатывалась?
Политике непринципиально куда ссылается ярлык. это может быть и локальный путь и unc путь
А как включить у всех компьютеров, чтобы автоматом отобразился «Этот компьютер» на всех рабочих столах в домене?
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
"{20D04FE0-3AEA-1069-A2D8-08002B30309D}"=dword:00000000
Если с ним ярлык показывается, можно раскатать его через GPO
https://winitpro.ru/index.php/2016/01/19/nastrojka-klyuchej-reestra-s-pomoshhyu-gruppovyx-politik/
Здравствуйте!
А как через gpo наоборот — удалить ярлык у всех пользователей AD? домен windows 2016
У вас ярлык у всех одинаковый? если да — в этом жем GPO есть отдельная опция Delete.
Если ярлыки разные (пользователи их создавали сами), я удалял такие с помощью логон скрипта powershell:
В этом примере я удаляю все ярлыки с public рабочего стола, которые указывают на определенный exe (неважно как называется сам ярлык):
$WScript = New-Object -ComObject WScript.Shell
$ShortcutsToDelete = Get-ChildItem -Path "C:\Users\Public\Public Desktop\" -Filter "*.lnk" -Recurse |
ForEach-Object {
$WScript.CreateShortcut($_.FullName) |
Where-Object TargetPath -eq 'C:\windows\system32\notepad.exe'
}
$ShortcutsToDelete | ForEach-Object {
Remove-Item -Path $_.FullName
}
Хочу создать пользователям ярлык через GPO на внешнюю сетевую папку с паролем. Пароль на папку не доменный. Надо чтобы пользователь сам вводил пароль к папке при открытии ярлыка.
Если создавать такой ярлык, то после применения политики он не появляется у пользователя , а в журнале пишется ошибка:
The computer ‘xx’ preference item in the ‘xxxx’ Group Policy Object did not apply because it failed with error code ‘0x80070002 The system cannot find the file specified.’ This error was suppressed.
Как создать такой ярлык?