Показать полную графическую версию : [решено] Батник на переименование от имени администратора.
Всем привет.
Суть задачи: необходимо разослать по почте 100+ пользователям некое обновление программы. Почтовые фильтры не пускают *.exe файлы (политика компании мать её).
Решил исходный файл сделать с разрешение *.dat и написать батник на переименование в *.exe c дальнейшем автозапуском.
Получилось что-то вроде:
runas /netonly /user:Admin "ren sys.dat sys.exe
runas /netonly /user:Admin "@start C:\sys\sys.exe"
Проблема в том, что под другим пользователем (без админских прав), файл по данному батнику не переименовывается (на введении пароля пишет, что он не правильный).
А вот запускается свободно...
So Sensually
29-11-2011, 10:59
Может зарарить экзешник?
Или если все компы в одной сети то через групповые политики накатить обновление? Ну или либо на почтовом серваке разрешить exe на сутки.
Архивы тоже не пустит. Разрешить - ну поптыка, не пытка, только успех мал.
Loran_rus
30-11-2011, 07:57
если ОС Windows XP то можно попробовать ваше новое расширение EXE файла ассоциировать на выполнение через C:\WINDOWS\system32\win.com тогда проблема переименования отпадет
под windows 7 не знаю как называется подобный файл, но тоже должен быть
P.S. Если обновление рассылается по почте то скорее всего пользователь сам сохраняет вложения и у него достаточно прав на переименование файлов, может в скрипте выполнить переименование от имени текущего пользователя а уже потом выполнить полученный файл от имени пользователя с правами на установку
нет все права закрыты полностью, даже время не поменять.
Loran_rus
30-11-2011, 13:29
нет все права закрыты полностью, даже время не поменять.
Ну это уже паранойя запретить пользователю переименовывать файлы владельцем которых он является, а менять время обычным пользователям по умолчанию не положено :)
Тогда 1й вариант:
Внести в реестр от имени пользователя с правами на редактирования реестра необходимые параметры
Пример для файла с расширением *.1@3
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.1@3]
@="MySpecialExpansion"
[HKEY_CLASSES_ROOT\MySpecialExpansion]
[HKEY_CLASSES_ROOT\MySpecialExpansion\DefaultIcon]
@="C:\\Windows\\System32\\SHELL32.dll,1"
[HKEY_CLASSES_ROOT\MySpecialExpansion\shell]
[HKEY_CLASSES_ROOT\MySpecialExpansion\shell\open]
[HKEY_CLASSES_ROOT\MySpecialExpansion\shell\open\command]
@="\"C:\\Windows\\System32\\win.com\" \"%1\""
можно через CMD/BAT скрипт используя Reg Add, а потом уже выполнить файл с зарегистрированным расширением от имени пользователя с правами на установку обновления.
Ну и почистить реестр если снова подобные задачи выполнять не требуеться
Loran_rus
01-12-2011, 06:59
Жуть а не политика безопасности
Попробуйте так, вернемся с чего начинали, но идеи уже на исходе
runas /netonly /user:techsupport "cmd /c ren c:\sys\sys.dat sys.exe"
Команда РанАс требует наличия файла который можно выполнить и передать ему параметры если необходимо, а Ren это команда приложения cmd.exe
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.