none
Ошибка при сохранении перемещаемого профиля RRS feed

  • Вопрос

  • Всем привет!

    Имеется доменая сеть на базе Windows 2003 Server SP2

    Клиенты Windows XP SP3

    Настроены перемещаемые профили.

    Заметил , что у некоторых (у 2 из 50) профили не сохраняются на сетевом ресурсе и соответственно когда пользователь пересаживается за другой локальный комп его профиль не копируется.

    При выходе пользователя из ситемы (именно в тот момент когда профиль должен сохраняться на сетевой ресурс) возникает ошибка и профиль не сохраняется

    ________________________________________________________________________________

    Event Type: Error
    Event Source: Userenv
    Event Category: None
    Event ID: 1509
    Date:  04.02.2013
    Time:  18:28:12
    User:  NT AUTHORITY\SYSTEM
    Computer: B19M
    Description:
    Не удалось скопировать файл C:\Documents and Settings\alexeevd.ARTISMSK\Мои документы\Almeza\LeaderTask\WORKBOOKS\    АРХИВ_тяжелое_РАБОТА\сети 2009\КВАРТАЛ, ДЕШЕВО, ВИКТОРИЯ\2007\договоры\бланки для заполнения\документы для подписания москва\Дог-р об оказании услуг протокол корректировки.doc в \\192.168.7.1\UserDocuments$\alexeevd\Мои документы\Almeza\LeaderTask\WORKBOOKS\    АРХИВ_тяжелое_РАБОТА\сети 2009\КВАРТАЛ, ДЕШЕВО, ВИКТОРИЯ\2007\договоры\бланки для заполнения\документы для подписания москва\Дог-р об оказании услуг протокол корректировки.doc. Возможные причины - неполадки в сети или недостаточные права доступа. Если проблема не устраняется, обратитесь к сетевому администратору.

     Подробно: Имя файла или его расширение имеет слишком большую длину.

    _____________________________________________________________________________________________________

    Возникает вопрос.

    Это действительно ограничение системы на возможную длину пути до файла? или глюк?

    Если да , то почему тогда система разрешила вообще создать тот файл?

    Почему не копируются другие папки и файлы (пути до которых короче)?

    Поставил ключи

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory_Management

    Key name: PoolUsageMaximum
    Data type: REG_DWORD
    Radix: Decimal
    Value: 60

    Key name: PagedPoolSize
    Data type: REG_DWORD
    Radix: Hex
    Value: 0xFFFFFFFF

    но это не помогло.

    Подскажите как решить проблему?

     Заранее спасибо!

    5 февраля 2013 г. 7:01

Ответы

  • Предполагаю что это никак не настраивается встроенными средствами.

    Остается Автоматизировать процесс по поиску длинных путей написать скрипт Например вот так
    cmd /k dir c:\ /s /b | sort /+256 /r > LongName.txt . Далее другой коммандой прочитать данные из этого лог файла и массово переименовать их, заменив допустим датой и временем создания, после этого перемещение профиля.
    Я бы поступил таким образом. К сожаленю со скриптом не помогу слабоват в этом=)

    Еще можно использовать Административный ресурс=)

    • Помечено в качестве ответа Rotar MaksimModerator 11 февраля 2013 г. 9:25
    6 февраля 2013 г. 8:39

Все ответы

  • Ограничение на полное имя файла (включая путь) не должен превышать 256 символов

    Innovation distinguishes between a leader and a follower - Steve Jobs

    5 февраля 2013 г. 8:47
  • Спасибо, а русские или латинские символы имеет значение?

    Почему тогда система разрешила создать такой длинный путь?

    Можно ли как-то выяснить в автоматическом режиме много ли таких файлов (с такими длинными путями)?

    5 февраля 2013 г. 8:49
  • Спасибо, а русские или латинские символы имеет значение?

    Почему тогда система разрешила создать такой длинный путь?

    Можно ли как-то выяснить в автоматическом режиме много ли таких файлов (с такими длинными путями)?

    1 насколько вы понимаете не имеет

    2 в вашем случае если открыть ваш путь в Word то знаков без пробелов 245 могу предположить что они не учитываются WinAPI

    3 можно написать скрипт копирования и в нем вывод логирования, а потом сделать сортировку полученных ошибок

    Пример у нас на bat файле

    robocopy \\user-pc\c$\user E:\1C /mir /sec /np >> H:\BACKUP\LOG\copy.txt (пример писал от балды так как у нас шары копируются)

    grep ERROR: -B 1 H:\Backup\LOG\Copy.txt > H:\Backup\LOG\Copy.err

    у нас используется утилита grep,

    но ее можно заменить допустим написав скрипт на powershell

    написав после копирования

    (Get-Content H:\Backup\LOG\Copy.txt) -match "\bERROR[^\\]" (спасибо человк недавно помог с этой строчкой)

    Вообщем как то так


    • Изменено PuCtoy 5 февраля 2013 г. 13:19
    5 февраля 2013 г. 13:18
  • Спасибо.
    Убрал файлы с длинными именами - заработало.
    Остался вопрос - почему система не могла синхронизировать остальные файлы игнорируя те у которых пути слишком длинные?
    Может этот режим как-то настраивается?
    6 февраля 2013 г. 6:54
  • Предполагаю что это никак не настраивается встроенными средствами.

    Остается Автоматизировать процесс по поиску длинных путей написать скрипт Например вот так
    cmd /k dir c:\ /s /b | sort /+256 /r > LongName.txt . Далее другой коммандой прочитать данные из этого лог файла и массово переименовать их, заменив допустим датой и временем создания, после этого перемещение профиля.
    Я бы поступил таким образом. К сожаленю со скриптом не помогу слабоват в этом=)

    Еще можно использовать Административный ресурс=)

    • Помечено в качестве ответа Rotar MaksimModerator 11 февраля 2013 г. 9:25
    6 февраля 2013 г. 8:39