2009-02-08 4 views
0

Название говорит об этом. Я ищу способ определить, к какому файлу/разделу реестра этот исполняемый файл пытается получить доступ. Я попытался использовать Windows auditing capabilities и Process Monitor, чтобы определить, где происходит сбой, но этот сбой не приводит к событиям с ошибками аудита или показывается как отказ доступа в Process Monitor.Как я могу диагностировать ошибку доступа Windows/разрешения

Конечно, если кто-то испытал это и может предоставить решение для устранения ошибки, которая будет почти такой же приятной.

фон:

Я использую Moveuser.exe, которая является частью Windows Server 2003 Resource Kit Tools преобразовать безопасность локальных профилей пользователя по номеру рабочих станций Windows XP.

Симптом:

Иногда Moveuser.exe удастся преобразовать безопасность профиля с ошибкой «Ошибка: 5 отказано в доступе». Я не смог определить какую-либо общность среди неудачных учетных записей или компьютеров, на которых они находятся. Данный компьютер может иметь хост 6 профилей, 5 из которых конвертировать без проблем и 1, который создает ошибку.

Есть несколько факторов, которые я так же уверен, как я могу быть о:

-The счет я использую для запуска Moveuser.exe с обладает полными правами администратора на локальном компьютере, и домен в который преобразует безопасность профиля.

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

Я разработал надежное обходное решение для этих случаев, но он довольно вовлечен, и я бы скорее понял основную причину этой ошибки и исправил ее упреждающе.

Мое обходное решение (рад поделиться им, опущено для краткости), по-видимому, указывает на то, что сбой связан с ключами реестра HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList, но я не могу точно определить, как/почему.

+0

На какой точной версии Windows вы пытаетесь запустить файл moveuser.exe? Также, я думаю, все эти 6 профилей хостов являются локальными профилями? – Kosi2801

ответ

0

Через два дня после публикации этого вопроса я дошел до сути проблемы. Оказалось, так же, как Роб Хаупт предложил связать с застрявшим пользовательским ульем. Программа, которую я запускала, перемещала, читала ключ Refcount, найденный под HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ ProfileList\ <SID>\ и заканчивая немедленно.

Установка RefCount до 0 решить эту проблему сразу

Выталкивания UPHClean для всех целевых машин упреждающим есть все, но elimated проблемы и мы смогли успешно преобразовать профили на нескольких сот машин на прошлой неделе.

Важное замечание о UPHClean:

Я попытался установить его раньше, но он не появился, чтобы помочь. Я был слишком нетерпелив, UPHClean ReadMe показал, что услуге просто требуется время, чтобы выполнить свою работу.

0

Вы пытались использовать инструмент командной строки «regini» для получения разрешений реестра для учетной записи администратора?

0

Использование FileMon и RegMon (теперь Microsoft, ранее SysInternals, по-прежнему бесплатно) для контроля того, к чему конкретно обращаются, как и какие права/доступ запрашиваются.

У меня нет удобного URL-адреса, но поиск Google должен помочь вам связать вас с этими инструментами.

+0

Он говорит, что использовал Process Monitor, который является Filemon + Regmon + more – Joe

0

Пара элементов, которые я бы постарался. Во-первых, может быть, что пользователь вошел в систему, и компьютер не был перезагружен. У Microsoft есть продукт под названием UPHClent, который помогает в разгрузке ненужных ульев пользователя.

Следующее, что я хотел знать, это если вы попытаетесь перезагрузить перед запуском исполняемого файла moveuser. Похоже, что это Conversation указывает, что это поможет с такой ошибкой.