Исходя из этого вопроса об открытии файлового менеджера от имени другого пользователя , я попытался перейти к нему C:\Windows
, нажать Shift + щелчок правой кнопкой мыши explorer.exe
и нажать «Запуск от имени другого пользователя». Когда я ввожу данные для входа в систему пользователя, я получаю 2 последовательных сообщения об ошибках, оба из которых говорят
Windows не может получить доступ к указанному устройству, пути или файлу. У вас могут не быть соответствующих разрешений для доступа к элементу
Если я попытаюсь ввести данные для входа в учетную запись, которая в данный момент вошла в систему, это сработает, а другая - нет. Это касается обеих учетных записей (администраторов) на моем ПК.
редактировать
Там было некоторое замешательство в комментариях. Я пытаюсь следовать принятому ответу в вопросе, связанном выше , и это не работает. Некоторые люди говорят, что это невозможно, поэтому странно, что есть принятый ответ с 3 ответами
источник
explorer.exe
cmd.exe
просто отлично, как другой пользователь. Если в ответе на связанный вопрос (3 отзыва) сказано, что я пытался запустить explorer от имени другого пользователя, это должно сработатьstart .
и он должен открыть проводник от имени этого пользователя.Access denied
на новой строке (обычное приглашение cmd все еще может открыть проводник в качестве текущей учетной записи)Ответы:
За этим TechNet Blog Post , explorer.exe выглядит однопоточный и не позволит несколько потоков , работающих под разными учетными записями пользователей:
Наиболее полезная альтернатива использованию explorer.exe , как также описано в этой статье, - это загрузить explorer ++ и запустить его от имени пользователя, для которого вы хотите просматривать файлы. Вы можете подключиться к UNC-путям так же легко в explorer ++, как и в explorer, так что это кажется достаточной альтернативой. Это также самый простой подход, который мне встречался, который не требует повышенных разрешений (например, тех, которые необходимы для вмешательства в реестр или установки дополнительного программного обеспечения).
источник
Из того, что вы можете прочитать в других вопросах ( 1 , 2 ) по этой теме, обычно это в лучшем случае хакерство и, конечно, не поддерживаемый сценарий. Более того, второй вопрос содержит больше информации, и если вы перейдете по нескольким ссылкам, вы окажетесь здесь: И так это Vista ...
Если вы проверите эту статью, вы прочитаете следующее:
Разумно ожидать, что они будут вести себя так же, как в Windows Vista, Windows 7, Windows 8 и теперь (вероятно) Windows 10.
Так что, похоже, вам придется либо взломать, рассмотреть обходной путь, либо переоценить свою проблему, которая приводит к необходимости запускать проводник от имени другого пользователя.
В качестве обходного пути вы можете использовать другой файловый менеджер, такой как Total Commander,
cmd
который работает с другими учетными данными, диалог открытия файла какого-либо другого программного обеспечения, запущенного вами как другой пользователь, или «быстрый переход» Windows для временного переключения на другой. пользователь.Вы на самом деле не предоставили никакой информации, почему вы пытаетесь это сделать, поэтому я понятия не имею, как может выглядеть другой подход и что касается взлома ... в приведенных выше вопросах их несколько. Я думаю, почему тот, кого вы связали в своем первоначальном вопросе, был замаскирован как решенный, так это то, что этот человек провел дополнительные исследования и, возможно, наткнулся на эти хаки.
источник
Настройка Explorer для открытия папок в отдельных процессах, используемых для разрешения этого под 1511. Например, в командной строке под именем user1, «explorer c: \ somePath» откроет окно Explorer под именем user1, а из командной строки под именем UserZ та же команда откроет окно обозревателя, работающее как UserZ.
После обновления до 1607 года это сломалось. Щелкните правой кнопкой мыши и запустите, поскольку другой пользователь приводит к тем же ошибкам, указанным выше.
При запуске проводника из командной строки окно не отображается, но появляется новый процесс проводника, принадлежащий текущему вошедшему в систему пользователю рабочего стола. Этот процесс в конечном итоге проходит сам по себе. Я пару раз наблюдал, как новый процесс проводника запускается как пользователь, который его вызвал, затем этот процесс немедленно закрывается, и новый процесс, принадлежащий пользователю рабочего стола, порождается (и никогда не обнаруживается, а после того, как бит автоматически убивается) ). Я подозреваю, что это всегда так, просто обычно происходит слишком быстро, чтобы наблюдать в диспетчере задач. Process Monitor или что-то подобное, вероятно, помогло бы доказать это, но я не беспокоился, так как, вероятно, все равно не могу это исправить. : \
источник
Интересный обходной путь, который я недавно обнаружил сам, и никто здесь еще не упомянул:
Создайте любой процесс / программу от имени другого пользователя (например, «Блокнот»), и в зависимости от программы и используемой платформы вы можете использовать API-интерфейс Common File Dialog Box для выполнения многих обычных операций оболочки «проводника».
(Просто выберите «Сохранить как ...» или «Открыть ...» в меню и используйте контекстное меню для выполнения копирования / вставки и т. Д., А затем «отмените» диалоговое окно).
Как запустить как другой пользователь в первую очередь
Чтобы вызвать любую программу от имени другого пользователя, используйте оболочки sysinternals , которые могут установить пункт контекстного меню. В качестве альтернативы, создайте cmd со встроенными Windows runas , а затем запустите программу, которая использует API-интерфейс Common File Dialog Box .
источник