Форум программистов, компьютерный форум, киберфорум
Наши страницы
Администрирование Windows
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
herm1t
0 / 0 / 0
Регистрация: 22.07.2014
Сообщений: 5
1

Windows неработоспособен по причине "странной" интерпретации переменной %temp%

22.07.2014, 12:49. Просмотров 926. Ответов 11
Метки нет (Все метки)

Доброго времени суток!
На комп'ютере не сохраняются файлы Office, викачанные браузерами файлы, и не делается множество других вещей, для которых, похоже, необходимо создание временных файлов.
Windows вместо обращения по адресу временной папки обращается по пути, где к пути временной папки прибавлен "левый", текущий путь, например: C:\Program files\Mozilla Firefox\%USERPROFILE%\Local Settings\Temp.

Значения переменных TEMP и TMP заданные в HKCU\Environment - "%USERPROFILE%\Local Settings\Temp".

Где искать настройки, согласно которым windows ведет себя таким странным образом?

P.S. Поскольку проблема проявляется на большинстве компьютеров небольшого домена, то очевидно, настройки приходят в составе групповых политик (ну, если это только не неизвестный науке вирус))). Трижды просмотрел политики. Не нашел ничего, заслуживающего внимания.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2014, 12:49
Ответы с готовыми решениями:

Батник для поиска файла в папке "Temp" и его запуска
Здравствуйте, коллеги! Встал вопрос, над который подкипела голова. Задача: В 1С при обновлении...

Избавиться от сообщений "Файл не найден", "Системе не удается найти указанный путь", "Устройство не готово"
Здравствуйте. В батнике присутствует поиск файлов: for %%i in (c d e f g h i j k l m n o p q r s t...

Как удалить в контекстном меню windows пункты "создать" и "удалить"
Собственно тот-же вопрос - Как удалить в контекстном меню windows пункты "создать" и "удалить"?

Как получить путь к пользовательской директории "Temp"?
Ваt файл мне сохраняет несколько текстовых файлов в диретории %TEMP% запускаемый из скрипта на JS ...

Не удалось найти домен по следующей причине сервер неработоспособен - win server 2012
я захожу в AD сайты и службы, нажимаю изменение леса и пытаюсь написать свой домен мойсайт.ру. В...

11
Dr_Quake
Заблокирован
22.07.2014, 12:50 2
Очевидно что не задана или не раскрывается переменная %USERPROFILE%. А вот почему уже второй вопрос. Для GP есть вполне материальный отчёт по GP в виде SUmmary, показывай вывод set и отчёты по GP.
1
herm1t
0 / 0 / 0
Регистрация: 22.07.2014
Сообщений: 5
22.07.2014, 13:42  [ТС] 3
%USERPROFILE% задана и с коммандной строки или строки адреса окна раскрывается. Хотя, действительно, в разных местах появляются папки с нераскрытым именем "%USERPROFILE%".
Вложенные файлы - результаты выполнения комманд "set" и "gpresult /Scope User /v"
0
Вложения
Тип файла: txt gpresult.txt (4.7 Кб, 3 просмотров)
Тип файла: txt set.txt (1.5 Кб, 2 просмотров)
herm1t
0 / 0 / 0
Регистрация: 22.07.2014
Сообщений: 5
22.07.2014, 14:23  [ТС] 4
Dr_Quake прав.
Если в переменных TEMP, TMP указать абсолютный путь типа D:\Temp, то программы записывают временные файли в указанное место и все работает нормально. Но, как только прописать туда переменную %USERPROFILE%, начинаются траблы.
0
22.07.2014, 14:23
Dragokas
Эксперт WindowsАвтор FAQ
17141 / 7195 / 864
Регистрация: 25.12.2011
Сообщений: 10,978
Записей в блоге: 16
22.07.2014, 14:56 5
Лучший ответ Сообщение было отмечено herm1t как решение

Решение

herm1t, проверьте тип параметра реестра.
Он должен быть REG_EXPAND_SZ.
У Вас видимо кто-то перезаписал его на REG_SZ.

Добавлено через 5 минут
Еще есть небольшая вероятность, что не происходит слияние переменных окружения (HKLM -> HKCU) из-за нарушения ограничений на длину блока данных.
Проверьте на всякий случай подраздел: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
на наличие длинных записей и корректности параметров TEMP, TMP, если они там будут.
2
herm1t
0 / 0 / 0
Регистрация: 22.07.2014
Сообщений: 5
22.07.2014, 15:04  [ТС] 6
Бесконечно благодарен, Dragokas.
Именно это и было. REG_EXPAND_SZ.
0
Dr_Quake
Заблокирован
22.07.2014, 15:23 7
Но вопрос ещё открыт - как это получилось то... Неужто кто-то накатал в политику реестра правку тупо...
0
Dragokas
Эксперт WindowsАвтор FAQ
17141 / 7195 / 864
Регистрация: 25.12.2011
Сообщений: 10,978
Записей в блоге: 16
22.07.2014, 15:42 8
Если ТС захочет установить причину,
можно посмотреть дату последней модификации параметра TEMP
и потом сравнить с датой установки ПО и/или других изменений в системе.
Если конечно еще не перезаписал параметры на всех ПК в домене.
0
Dr_Quake
Заблокирован
22.07.2014, 15:53 9
Нету в реестре такого понятия.
0
herm1t
0 / 0 / 0
Регистрация: 22.07.2014
Сообщений: 5
22.07.2014, 16:00  [ТС] 10
" как это получилось то..."
Много лет назад, пара еще используемых очень древних программ не понимала длинных имен, но использовала переменную окружения Temp. Чтобы не создавать на каждом компьютере bat-файл, был создан adm-шаблон, в котором, среди всего прочего менялся ключ реестра Temp. Тип EXPANDABLETEXT не указали. Если не указан, то по умолчанию ключ создавался с типом REG_SZ. Видимо, проверили, - работает. После отключения политики ключ вернулся к значению по умолчанию, но тип остался прежним. Интересно, что коллеги, говорят, отключили политику еще в четверг, а жалобы пошли только вчера, в понедельник.
0
Dr_Quake
Заблокирован
22.07.2014, 16:24 11
Так то что ты её ОТКЛЮЧИЛ все изменения не отменит. К.О. - и так СО ВСЕМ что не имеет дефолта в локальной политике, то есть в этой части вообще со всем. Надо поставить правильный тип и ключи и применить её ещё раз, а лучше и оставить.
0
Dragokas
Эксперт WindowsАвтор FAQ
17141 / 7195 / 864
Регистрация: 25.12.2011
Сообщений: 10,978
Записей в блоге: 16
22.07.2014, 17:08 12
Dr_Quake, да Вы правы нет такого,
но часто в ветке HKCU\Environment кроме параметров TMP, TEMP больше ничего и нет.
Поэтому отследить можно по дате последней модификации самого подраздела.
0
22.07.2014, 17:08
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2014, 17:08

Сравнение со "странной" переменной
Люди, здравствуйте. Мне приходится работать со странными переменными. objRegistry.EnumValues...

Присвоить переменной "х" значение суммы переменных "a" и "b" если "a > b" или их произведение в остальных случаях.
В этом задании вам нужно вписать в указанное место код, который будет присваивать переменной "х"...

Почему не работает функция std::regex_replace(temp,"amp;","");
Пробую вызывать функцию std::regex_replace(temp,"amp;",""); Пишет ошибку: test_ok_ruDlg.cpp...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.