PDA

Показать полную графическую версию : [решено] Как запустить скрипт до запуска оболочки (рабочего стола) (Explorer.exe)


ses333ser
23-10-2013, 16:55
Здравствуйте, уважаемые форумчане!

Скажите, пожалуйста, как сделать так чтобы cmd запускался раньше explorer.exe. Помощь нужна очень. Батник есть но он не работает (до конца).
E:\ -флешка

@Echo off


md "E:\_user\%username%\"
cd "%USERPROFILE%\Избранное\"
xcopy "%Username%\избранное" "E:\_user\%username%\" /h/g/e/y
cd "%USERPROfile%\Application Data\"
xcopy "%Username%\"Application Data" "E:\_user\%username%\" /h/g/e/y
cd "%USERPRROFILE%\"Local Settings"\"Application Data\"
xcopy "%Username%\Local Settings\"Application Data"" "E:\_user\%username%\" /h/g/e/y

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites /t REG_SZ /d "E:\_user\%username%\Избранное" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v AppData /t REG_sz /d "E:\_user\%username%\Application Data" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Local AppData" /t REG_SZ /d "E:\_user\%username%\Local Settings\Application Data" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Favorites /t REG_EXPAND_SZ /d "E:\_user\%username%\Избранное" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v AppData /t REG_EXPAND_SZ /d "E:\_user\%username%\Application Data" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Local AppData" /t REG_EXPAND_SZ /d "E:\_user\%username%\Local Settings\Application Data" /f

Elven
23-10-2013, 17:20
Попробуй запустить через шедуллер, а не через автозапуск, там приоритет немного выше, а имя профиля уже в переменной. Правда даст это тебе что-то около 2-4 секунд, вряд ли все успет скопироваться так как надо.

ses333ser
23-10-2013, 17:30
Спасибо. Я тут посмотрел еще кое что - timeout. Только у меня XP Pro, а там блин нет. Может быть как-то скрипт видоизменить или аналог программы посоветуете. Заранее спасибо.

А скрипт работает так же и на сервере. Но там такая же проблема.

ses333ser
25-10-2013, 16:38
Через шедуллер не работает. Надо как-то через реестр или GPO

Elven
25-10-2013, 16:42
видел где-то вариант использования таймаута из пинга
как-то вроде того
ping -w 1000 -n 1 0.0.0.0
-w время для каждого ответа в мс
-n количество пакетов

Iska
25-10-2013, 18:31
видел где-то вариант использования таймаута из пинга »
Пауза в пакетном файле (http://wiki.oszone.net/index.php/%D0%9F%D0%B0%D1%83%D0%B7%D0%B0_%D0%B2_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BD%D0%BE%D0%BC_%D1%84%D0%B0% D0%B9%D0%BB%D0%B5)

Elven
25-10-2013, 19:13
Iska, да-да, возможно прямо там и видел. :)
правда здесь оно похоже что не поможет, проблема-то тормознуть загрузку explorer.exe плохо понимаю как тут паузы да таймауты помогут, или это просто я под конец дня рабочего тупить изволю?..

Lucretius
25-10-2013, 20:23
Для Win XP:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
-запуск программ при входе текущего пользователя в систему.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
-запуск программ один раз, при входе текущего пользователя в систему.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
-запуск программ при входе, для всех пользователей системы.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
-запуск программ один раз, при входе для всех пользователей системы.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
-запуск программ один раз, при старте системы до входа пользователей.

Создайте строковый параметр в нужном разделе и пропишите путь к батнику, можно с параметрами. Если создать расширяемый строковый параметр, то в пути можно использовать системные переменные.

На всякий случай службы:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
-запуск программ один раз, при старте системы до входа пользователей.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
-запуск программ при старте системы до входа пользователей.

Iska
25-10-2013, 21:43
проблема-то тормознуть загрузку explorer.exe »
Не вижу никаких проблем. В первую очередь потому, что причин для сего Вы не объясняете.

Во-вторую очередь — GP: пакетный logon-файл+установленные той же политикой настройки для запрещения загрузки Рабочего стола до отработки logon-скриптов.

ses333ser
29-10-2013, 15:12
Спасибо всем за внимание к моей проблеме, но все это не работает. Надо так чтобы при первом логировании нового пользователя указанная ветка реестра в скрипте сразу менялась на ту которая там прописана, т.е. получается, например, что %appdata% сразу должен ссылаться на папку _user. При описанных вами способами она меняется но ссылка остается все равно C:\Documents and Settings\userprofile\Application Data, а изменение вступают в силу со второго логирования. Если это сделать не возможно,то, если Вам не сложно, (я просто не селен в скриптах, только изучаю) мне тогда надо дописать этот скрипт до такого действия - этот скрипт выполняется далее выскакивает сообщения типа "Уважаемые коллеги, сейчас произойдет выход из системы, после выхода войдите заново" происходит выход из сеанса. Это надо чтобы было автоматически. Помогите видоизменить скрипт.

Elven
29-10-2013, 18:12
@echo off
echo Компьютер допустил не допустимое и сейчас будет взорван.
echo После взрыва вы можете выдавить шнур и вытянуть стекло
echo или сходить за мягкой французской булкой да выпить чаю
echo или как ни в чем не бывало залогиниться и начать работу.
ping -n 15 127.0.0.1 > nul
shutdown -l




© OSzone.net 2001-2012