8

Исходя из этого вопроса об открытии проводника файлов от имени другого пользователя, я попытался перейти к C:\Windows , shift+ щелкнуть правой кнопкой мыши explorer.exe и нажать "Запуск от имени другого пользователя". Когда я ввожу данные для входа в систему пользователя, я получаю 2 последовательных сообщения об ошибке, оба из которых говорят

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

Если я попытаюсь ввести данные для входа в учетную запись, которая в данный момент вошла в систему, это сработает, а другая - нет. Это касается обеих учетных записей (администраторов) на моем ПК.

редактировать

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

3 ответа3

4

Согласно этому сообщению в блоге TechNet, файл explorer.exe выглядит однопоточным и не позволяет нескольким потокам работать под разными учетными записями пользователей:

Проводник Windows не предназначен для работы в нескольких контекстах безопасности в одном сеансе рабочего стола, Windows не может просто вызвать запрос UAC и затем запустить экземпляр Explorer с повышенными правами

Наиболее полезная альтернатива использованию explorer.exe, как также описано в этой статье, - это загрузить explorer++ и запустить его от имени пользователя, для которого вы хотите просматривать файлы. Вы можете подключиться к UNC-путям так же легко в explorer++, как и в explorer, так что это кажется достаточной альтернативой. Это также самый простой подход, с которым я столкнулся, который не требует повышенных разрешений (например, тех, которые необходимы для вмешательства в реестр или установки дополнительного программного обеспечения).

1

Из того, что вы можете прочитать в других вопросах (1, 2) по этой теме, обычно это в лучшем случае хакерство и, конечно, не поддерживаемый сценарий. Более того, второй вопрос содержит больше информации, и если вы перейдете по нескольким ссылкам, вы окажетесь здесь: И вот это Vista

Если вы проверите эту статью, вы прочитаете следующее:

На Vista, однако, есть больше изменений. Ни Internet Explorer, ни Windows Explorer не хотят использовать несколько учетных записей на одном рабочем столе. Если вы попытаетесь запустить IE под учетной записью, отличной от учетной записи рабочего стола, на экране появится сообщение об ошибке: «Команда RUNAS не поддерживается». Насколько я понимаю, основная причина заключается в том, что в защищенном режиме Internet Explorer, который работает на низком уровне целостности, IE также запускает процесс посредника Medium IL (ieuser.exe), который запускается как пользователь рабочего стола и который управляет выбранными операциями Medium IL для Низкий IL процесс. Включение нескольких идентификаторов в эту смесь привело бы к значительной сложности, которую лучше избегать. Если вы попытаетесь запустить Windows Explorer от имени другого пользователя, вы ничего не увидите - новый процесс запускается, но завершается без отображения окна.

...

Исследователь немного хитрее. Непосредственное применение «Запуск от имени администратора» этого не сделает, но запуск его из командной оболочки с повышенными правами часто будет. Я считаю, что командная строка, такая как «explorer /e, c:\», будет работать, а просто запустить «explorer» - нет. Но, как и прежде: если он работает вообще, это непреднамеренный побочный эффект текущей реализации, и он может быть изменен в любое время.

Разумно ожидать, что они будут вести себя так же, как в Windows Vista, Windows 7, Windows 8 и теперь (вероятно) Windows 10.

Так что, похоже, вам придется либо взломать, рассмотреть обходной путь, либо переоценить свою проблему, которая приводит к необходимости запуска проводника от имени другого пользователя.

В качестве обходного пути вы можете использовать другой файловый менеджер, такой как Total Commander, cmd , работающий с другими учетными данными, диалог открытия файла какого-либо другого программного обеспечения, которое вы запустили как другой пользователь, или "быстрый переход" Windows, чтобы просто временно переключиться на другой пользователь.

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

1

Настройка Explorer для открытия папок в отдельных процессах используется для того, чтобы это работало под 1511. Например, в командной строке, работающей от имени пользователя user, «explorer c:\somePath» откроет окно проводника, работающее от имени пользователя user1, а из командной строки, работающей от имени пользователя Z, та же команда откроет окно обозревателя, работающее от имени пользователя UserZ.

После обновления до 1607 года это сломалось. Щелкните правой кнопкой мыши и запустите, поскольку другой пользователь приводит к тем же ошибкам, указанным выше.

При запуске проводника из командной строки окно не отображается, но появляется новый процесс проводника, принадлежащий текущему вошедшему в систему пользователю рабочего стола. Этот процесс в конечном итоге проходит сам по себе. Я пару раз наблюдал, как новый процесс проводника запускается как пользователь, который его вызвал, затем этот процесс немедленно закрывается, и новый процесс, принадлежащий пользователю рабочего стола, порождается (и никогда не обнаруживается, а после того, как бит автоматически убивается)). Я подозреваю, что это всегда так, обычно это происходит слишком быстро, чтобы наблюдать в диспетчере задач. Process Monitor или что-то подобное, вероятно, помогло бы доказать это, но я не беспокоился, так как, вероятно, все равно не могу это исправить. :\

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .