Удаление ярлыков на Windows Server 2008R2
Всех приветствую! Не судите строго. Я в этом деле дилетант.
Ситуация такая есть Windows Server 2012 с большим количеством пользователей. задача удалить ярлыки с рабочего стола у всех пользователей. пробовал писать bat'ник со следующим кодом:
DEL /F /Q "%UserProfile%\Desktop\xxx.lnk"
Но он удаляет только в текущем профиле. Помогите пожалуйста.
|
0. открыть групповые политики
1. открыть таск шедулер.
2. создать задачу с запуском "от текущего пользователя"
3. в триггерах указать - при логине.
4. в действиях прописать вот это вот что и было указано
5. расслабиться и пить пиво
(5 пункт - обязательно, иначе никакого волшебства не получится)
|
не получается, может что-то не так делаю?
Создаю задачу;
В общих: выполнять только для пользователе, вошедших в систему;
Триггеры: при входе в систему;
В действиях: bat'ник.
|
Задача через групповые политики создана или локально на сервере? Что-то мне подсказывает что локально.
|
Вложений: 1
У меня в групповой политике нет планировщика
|
Elven, а зачем тут Планировщик?
|
Iska, да мне бы скрипт какой то, чтобы запустить от админа и все
|
Bop4yH_36, пакетный файл у Вас есть (хоть и кривоватый: Desktop — это каталог Рабочего стола по умолчанию только для новых ОС). Всё, что нужно — добавить его в групповую политику как Logon-скрипт «на пользователя».
|
Iska, Можно подробнее, как это сделать?
|
Iska, логон скрипт может быть забит чем-то отдельным, ну и, лично для меня, просто привычнее. А так - согласен, можно и через логон скрипт. Все же таксшедулер в политике нацеленной на КОНКРЕТНЫЙ сервак - лучше, логонскрипт будет отрабатывать на любом компе домена.
Bop4yH_36, начем с простого: сервер, на котором нужно выполнить удаление, в домене?
|
Вот где собака порылась... Тогда все плохо, придется извращениями страдать.
Код:
for /f "delims=" %%i in ('dir /b /a:d ^| findstr /v /i ^"Default Public All Users Все пользователи^"') do del /F /Q "%%~fi\Desktop\link_name.lnk"
Я надеюсь, что перечислил все исключения, но мало ли... Короче, сохранять в 866 и запускать на свой страх и риск.
з.ы. да я знаю что All Users будет искаться отдельно как All и отдельно как Users, но еще и это дописывать мне, извините, лень.
|
Цитата:
Цитата Bop4yH_36
DEL /F /Q "%UserProfile%\Desktop\xxx.lnk" »
|
сообщить сотрудникам о том что необходимо всем запустить файл, скинь куда нить куда все дорогу знают.Можно лог добавить еще чтоб писался кем запущен. Если через политики не получается ничего сделать.
|
Цитата:
Цитата Elven
Все же таксшедулер в политике нацеленной на КОНКРЕТНЫЙ сервак - лучше, логонскрипт будет отрабатывать на любом компе домена. »
|
Последнее — совершенно верно, но легко лечится несколькими способами, начиная с банальнейшего if "%computername%" equ "GlobalServer" … в самом пакетном файле. Но я про другое — без Планировщика разве никак не обойтись?
Цитата:
Цитата Elven
Тогда все плохо, придется извращениями страдать. »
|
Зачем страдать? Использовать редактор локальной групповой политики, в остальном — всё тот же logon-скрипт «на пользователя».
|
Bop4yH_36, крайне содержательно.
Стесняюсь спросить, но link_name.lnk хотя бы заменен на имя того ярлыка, который нужно удалить?
|
Вложений: 1
Elven, Естественно, я хоть и дилетант, но...))))
|
Код:
for /f "delims=" %%i in ('dir c:\users /b /a:d ^| findstr /v /i ^"Default Public All Users Все пользователи^"') do del /F /Q "%%~fi\Desktop\link_name.lnk"
|
Вложений: 1
Elven, Прогресс есть, но путь не верный, должен быть C:\Users\UserProfile\Desktop\name_lnk.lnk
|
Код:
pushd c:\users
for /f "delims=" %%i in ('dir /b /a:d ^| findstr /v /i ^"Default Public All Users Все пользователи^"') do @echo %%~fi\Desktop\*.lnk
popd
|
Вложений: 1
Elven, Не работает
|
Elven, он их находит, но не удаляет как я понял
|
Время: 09:17.
© OSzone.net 2001-