С помощью групповых политик вы можете создать ярлык на определенное приложение на рабочем столе всех (или только определенных) пользователей домена. 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.
Как создать такой ярлык?
Проверьте, что указали правильный путь к файлу. Возможно нужно убрать кавычки. По возможности использовать путь без пробелов и русских символов.
А как правильно настроить, чтобы ярлык появился только на некоторых пользователей?
В статье описана реализация item level targeting через группу безопасности в AD.
Добавьте в эту группу ныжных пользователей, тчобы на них применилась политика и создался ярлык.
Здравствуйте, нужно на рабочих столах доменных пользователей создать ярлык на программу, находящуюся в ‘Program Files (x86)’, хоть у большинства пользователей системным является диск C, было бы все равно лучше использовать системную переменную, однако в меню F3 такой вроде нет, а насчет работоспособности %ProgramFiles(x86)% я не уверен.
Из других вопросов — у нас в домене для компьютеров и учетных записей имеются разные политики, есть ли разница в какой создавать ярлык?
Сам спросил — сам ответил:
Переменная %ProgramFiles(x86)% работает, ошибся именно в политике где создал ярлык, нужная политика учетных записей.
Здравствуйте, не работает создание ярлыков для Windows 10 и новее пока не включишь на клиенте поддержку SMB 1.0/CIFS. Есть ли способ этой обойти? Используется WinServer 2008 R2
Ярлык кстати создается на сопоставленный диск (S:), параметры ярлыка:
Действие: Обновить
Тип объекта: Объект файловой системы
Путь ярлыка: %DesktopDir%\Сетевые папки
Конечный путь: S:\
Рабочая папка: S:\
Быстрый вызов: None
Запустить: Обычный размер окна
Остановить обработку элементов на этом расширении, если на этом элементе возникает ошибка: Нет
Запуск в контексте безопасности текущего пользователя (параметр пользовательской политики): Да
Удалить этот элемент, если он больше не применяется: Нет
Применить один раз и не применять повторно: Нет
Судя по описанию, вы пытаетесь подключить SMB диск с Windows Server 2008R2 — он умеет SMBv2 и клиент Windows 10 тоже включает клиент для протокола SMB2. По логиге SMB1 не нужен.
Но вероятно, либо в Windows 2008R2 отключен SMB2, либо в клиенте WIndows 10.
Я бы сначала вручную проверил, может ли клиент w10 открыть сетевую папку на 2008r2 без клиента smb1, потом проверил поддержку smbv2 на обоих концах.
https://winitpro.ru/index.php/2014/12/01/podderzhka-smb-1-0-v-windows-server-2012-r2/