Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Windows Server 2008/2008 R2 (http://forum.oszone.net/forumdisplay.php?f=97)
-   -   [решено] Не отрабатывает logon скрипт (http://forum.oszone.net/showthread.php?t=286518)

nokogerra 15-08-2014 08:13 2389506

Не отрабатывает logon скрипт
 
Доброго времени суток.
Не отрабатывает .bat поставленный на вход в систему (на выход тоже пробовал). Должен выполняться от имени пользователя, административных прав не нужно. Если запустить в ручную от имени рядового пользователя - работает нормально. rsop показывает что политика применилась. Сам скрипт лежит в \\domain.local\SysVol\domain.local\Policies\{SID_объекта_политики}\User\Scripts\Logon. Насколько я знаю ложить в общедоступную шару нет необходимости, когда-то так же расположил .bat для подключения сетевых дисков и работало прекрасно. Содержание самого файла простое:
cmdow @ /HID
cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cache"
del * /F /Q

Спасибо.

update: положил на общую шару, вот результат:
"\\pdc\scripts"
Указанный путь был использован при запуске CMD.EXE в качестве текущей папки.
CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows.

C:\Windows>cmdow @ /HID
"cmdow" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

C:\Windows>cd "D:\Users\ucli-01\AppData\Local\Google\Chrome\User Data\Default\Ca
che"

C:\Windows>del * /F /Q
C:\Windows\bfsvc.exe
Отказано в доступе.
C:\Windows\DtcInstall.log
Отказано в доступе.
C:\Windows\explorer.exe
Отказано в доступе.
C:\Windows\fveupdate.exe
Отказано в доступе.
C:\Windows\HelpPane.exe
Отказано в доступе.
C:\Windows\hh.exe
Отказано в доступе.
C:\Windows\IE11_main.log
Отказано в доступе.
C:\Windows\IE9_main.log
Отказано в доступе.
C:\Windows\INSTALL.LOG
Отказано в доступе.
C:\Windows\mib.bin
Отказано в доступе.
C:\Windows\msdfmap.ini
Отказано в доступе.
C:\Windows\notepad.exe
Отказано в доступе.
C:\Windows\PFRO.log
Отказано в доступе.
C:\Windows\Professional.xml
Отказано в доступе.
C:\Windows\regedit.exe
Отказано в доступе.
C:\Windows\setupact.log
Отказано в доступе.
C:\Windows\setuperr.log
Отказано в доступе.
C:\Windows\Starter.xml
Отказано в доступе.
C:\Windows\system.ini
Отказано в доступе.
C:\Windows\TSSysprep.log
Отказано в доступе.
C:\Windows\twain.dll
Отказано в доступе.
C:\Windows\twain_32.dll
Отказано в доступе.
C:\Windows\twunk_16.exe
Отказано в доступе.
C:\Windows\twunk_32.exe
Отказано в доступе.
C:\Windows\UNWISE.EXE
Отказано в доступе.
C:\Windows\win.ini
Отказано в доступе.
C:\Windows\winhelp.exe
Отказано в доступе.
C:\Windows\winhlp32.exe
Отказано в доступе.
C:\Windows\WMSysPr9.prx
Отказано в доступе.
C:\Windows\write.exe
Отказано в доступе.
C:\Windows\_default.pif
Отказано в доступе.

C:\Windows>pause
Для продолжения нажмите любую клавишу . . .

Если запустить его с рабочего стола все отрабатывает нормально.

Petya V4sechkin 15-08-2014 09:13 2389526

nokogerra, можно одной строкой:
Код:

del /F /Q "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cache\*"
Цитата:

Цитата nokogerra
C:\Windows>cd "D:\Users\ucli-01\AppData\Local\Google\Chrome\User Data\Default\Cache"
C:\Windows>del * /F /Q

Это жесть!
Если у пользователя будет достаточно прав, ваш скрипт снесет содержимое папки Windows.

User001 15-08-2014 09:25 2389529

Цитата:

Цитата nokogerra
del * /F /Q »

Вот такое в скриптах лучше делать проверив, что вы в нужной папке и т.д.
Цитата:

Цитата nokogerra
Указанный путь был использован при запуске CMD.EXE в качестве текущей папки.
CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows. »

cmd: UNC-путьВыполните с клиента \\pdc\scripts\имя_скрипта - посмотрите - выполнится или вернет ошибку.
Цитата:

Цитата nokogerra
"cmdow" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. »

Она где лежит?

nokogerra 15-08-2014 09:37 2389536

2 Petya V4sechkin
В том и дело, я не понимаю какое отношение bat имеет к каталогу windows, там только %USERPROFILE%

2 User001
Я и запускал руками из шары - выдает ту ошибку что я описал, если запустить этот же скрипт с рабочего стола - кеш Chrome удаляется нормально и никаких попыток обращения к каталогу windows нет, не понимаю какое отношение имеет %USERPROFILE% к этому каталогу. Более того я использую связанные клоны Horizon View, профиль лежит на персистентном диске с буквой D, не на системном.

Petya V4sechkin 15-08-2014 09:43 2389539

nokogerra, сделайте одной строкой:
del /F /Q "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cache\*"

nokogerra 15-08-2014 09:57 2389549

действительно, помогло, спасибо. такой вывод:
"\\pdc\scripts"
Указанный путь был использован при запуске CMD.EXE в качестве текущей папки.
CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows.

C:\Windows>del /F /Q "D:\Users\ucli-01\AppData\Local\Google\Chrome\User Data\Def
ault\Cache\*"

не понятно только почему cmdow @ /HID не работает из сетевой шары, но работает с рабочего стола.

User001 15-08-2014 10:28 2389567

Цитата:

Цитата nokogerra
не понятно только почему cmdow @ /HID не работает из сетевой шары, но работает с рабочего стола. »

UNC не устанавливается в качестве текущего каталога.
Цитата:

Цитата nokogerra
Указанный путь был использован при запуске CMD.EXE в качестве текущей папки.
CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows. »

По ссылке сходите.

nokogerra 15-08-2014 11:18 2389591

Имеет ли смысл использовать %~dp0 (к тому же я не совсем понял как это работает), если каталог исполнения все равно меняется на %windir%?

User001 15-08-2014 13:00 2389651

Цитата:

Цитата nokogerra
к тому же я не совсем понял как это работает »

Там же внизу комментарий.
~dp0 - раскрывается в имя диска и путь для переменной 0 - полного пути к исполняемому файлу.
Тест
Попробуйте выполнить из сетевой папки:
Код:

@echo off
echo %cd%
echo %~dp0
echo %0
pause


Цитата:

Цитата nokogerra
если каталог исполнения все равно меняется на %windir% »

Т.к. в нем нет нужных вам команд, то указывайте к ним путь, например, как описано ранее.

nokogerra 15-08-2014 13:38 2389677

Комментарий я видел, но как я сказал не понял его.
Вот вывод теста:
"\\pdc\scripts"
Указанный путь был использован при запуске CMD.EXE в качестве текущей папки.
CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows.
C:\Windows
\\pdc\scripts\
"\\pdc\scripts\test.bat"
Для продолжения нажмите любую клавишу . . .

Я просто не могу понять как будет выглядеть скрипт с использованием ~dp0, переменную же нужно задать. Из этого объяснения:
1. "%" - предваряет номер получаемого аргумента
2. "~d" - директива извлечения буквы диска, откуда запущен батник
3. "~p" - директива извлечения пути без номера диска к батнику
4. "0" - нулевой агумент, полный путь к запуску батника вместе с его именем.
мало что понятно. получили полный путь и букву диска, откуда запущен бат (какую букву если мы пытаемся его запустить с сетевой шары, и нам нужно не получить букву диска, а задать другую - в чем смысл этих действий-то?). лыжи у меня не едут, извините.

User001 15-08-2014 14:11 2389696

Цитата:

Цитата nokogerra
мало что понятно. получили полный путь и букву диска, откуда запущен бат (какую букву если мы пытаемся его запустить с сетевой шары, и нам нужно не получить букву диска, а задать другую - в чем смысл этих действий-то?). лыжи у меня не едут, извините. »

Суть примера была - лежит у вас в \\pdc\scripts скрипт и программа (cmdow, например). Запускаете вы его и кидает он вам предупреждение.
Цитата:

Цитата nokogerra
Указанный путь был использован при запуске CMD.EXE в качестве текущей папки.
CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows. »

А надо вам в скрипте запустить:
Цитата:

Цитата nokogerra
cmdow @ /HID »

Но он не доступен:
Цитата:

Цитата nokogerra
"cmdow" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом. »

Так вот чтобы в скрипте не писать \\pdc\scripts\cmdow @ /HID, можно написать %~dp0cmdow, которое и раскроется в \\pdc\scripts\cmdow. Это удобнее, т.к. каталоги меняются и т.д., а держать скрипт со всем вспомогательным добром - проще.


Время: 20:30.

Время: 20:30.
© OSzone.net 2001-