RunAs Інший користувач під час налагодження у Visual Studio


80

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

Я намагався скористатися командою "RunAs":

command.com /C runas /env /user:OtherUser DebugTarget.Exe 

Але це додається до command.com, Visual Studio хоче exe. Тепер я можу створити фіктивну програму .... але хтось має краще рішення для цього?


ЦЕ МІЛЯТНО. Зараз я почуваюся настільки дурним, оскільки використовую щойно використаний cmd.exe для перевірки цього. Тьфу.
moogs

Відповіді:


81

Як вже згадувалося в програмі, що запускає налагоджувач як інший користувач (посилання вище), ще один надзвичайно простий спосіб зробити це, який не потребує додаткових інструментів:

  • Утримуйте Shift+ клацніть правою кнопкою миші, щоб відкрити новий екземпляр Visual Studio.
  • Натисніть "Запустити від іншого користувача"

    Запустити від іншого користувача

  • Введіть облікові дані іншого користувача у наступному спливаючому вікні

  • Відкрийте те саме рішення, з яким ви працюєте

Тепер, коли ви налагоджуєте рішення, воно буде з дозволами іншого користувача.

Підказка : якщо ви збираєтеся запускати кілька екземплярів Visual Studio, змініть його тему (наприклад, на "темну"), щоб ви могли легко відстежувати, який з них є).


Це, безумовно, найкраще рішення тут. Працює дуже добре. Єдина заминка полягає в тому, що якщо ви не можете отримати доступ до TFS або будь-якого з ваших платних додатків (наприклад, R #). Я обійшов це, просто відкривши рішення нормально (за моїм рахунком).
gregsdennis

Немає нічого поганого у тому, щоб відкрити одне і те ж рішення від двох різних користувачів, як наводить відповідь. Ви можете відкрити їх поруч, саме тому я запропонував переключити вашу тему VS на одну з них.
Watki02,

2
Я використовував цей метод роками до Visual Studio 2015. Ця версія VS не дозволить мені увійти, щоб отримати ключ MSDN під час роботи від іншого користувача, тому він просто закривається. Будь-які обхідні шляхи для цього?
NTDLS

2
На жаль, запуск VS як іншого користувача не грає добре, коли рішення знаходиться під контролем джерела.
RichardD

1
Чи виникає проблема з необхідністю чекати, поки VS підготується до першого використання, якщо тестовий користувач раніше цим не користувався. Але в іншому випадку, здається, це працює для VS2013.
Kelly Bang

29

Це працює (я відчуваю себе таким ідіотським):

C:\Windows\System32\cmd.exe /C runas /savecred /user:OtherUser DebugTarget.Exe

Вищенаведена команда буде запитувати ваш пароль щоразу, тому, щоб зменшити розлад, ви можете використовувати / savecred. Вас запитують лише один раз. (але, думаю, працює лише для Home Edition та Starter)


2
Як це зробити у Visual Studio? Ви відкриваєте рішення, створюєте та якось запускаєте вищезазначену команду з Visual Studio? Я використовую VS2008.
програміст Wallstreet


Цей метод має мінус у тому, що він не вразить жодних точок зупинки у вашому коді.
Lews Therin

@LewsTherin Після запуску проекту вам потрібно перейти до Налагодження -> Прикріпити до процесу, щоб приєднати налагоджувач VS до вашої програми. Не ідеально, але, здається, це все, що ми маємо.
Габріель Лучі,

2
@GabrielLuci Це може пропустити якийсь код, який працює, перш ніж ви потрапите в це меню. Кращий варіант - до першого рядка точки входу вашого коду додати наступне:System.Diagnostics.Debugger.Launch();
Льюс Терін

20

Ви також можете використовувати VSCommands 2010 для запуску від іншого користувача:

текст заміщення


6
Мені слід сказати, що вам потрібно VSCommands Pro, щоб увімкнути цю функцію. У спрощеній (безкоштовній) версії ці команди, здається, доступні, але при їх виклику нічого не відбувається. Я спробував це за допомогою VS2010 Pro.
d11

Я перевірив це за допомогою консольної програми C #, яка друкує ім'я користувача користувача, який запускає програму. Використання опції для запуску, оскільки різні користувачі чудово працюють. Я не знаю про те, як працювати адміністратором або як звичайний користувач ...
froeschli

@ d11 Я спробував його за допомогою "VSCommands для Visual Studio 2013", і він працює, як очікувалося. (За винятком того, що для будь-чого, зазначеного в "Аргументах командного рядка", потрібні повні шляхи.)
Рок Стріша

1
Чудове рішення, це розширення дійсно приємне і безкоштовне для 2012 та 2013 років, воно додає набагато більше корисного, ніж просто це.
Тобберот,

1
Ганьба, цей проект більше не підтримується.
Габріель Лучі

6

Я використовую наступний метод, заснований на відповіді @ Watki02:

  1. Shift r-клацніть програму для налагодження
  2. Запустити як інший користувач
  3. Приєднайте налагоджувач до програми

Таким чином, ви можете зберегти примірник візуальної студії як власного користувача під час налагодження з іншого.


2

cmd.exe знаходиться в різних місцях в різних версіях Windows. Щоб уникнути необхідності розташування cmd.exe, ви можете скористатися командою, яку написав moogs, не викликаючи "cmd.exe / C".

Ось приклад, який працював у мене:

  1. Відкрийте командний рядок
  2. Змініть каталог, де знаходиться файл .exe вашої програми.
  3. Виконайте таку команду: runas / user: domain \ username Application.exe

Отже, заключний крок буде виглядати приблизно так у командному рядку:

C:\Projects\MyProject\bin\Debug>runas /user:domain\username Application.exe

Примітка : у моїй ситуації потрібно було вказати доменне ім’я.


0

Ви можете відкрити свій командний рядок як призначений користувач:

  • Shift + клацніть правою кнопкою миші на піктограмі командного рядка на панелі завдань.
  • Виберіть (Запустити як різного користувача)

введіть тут опис зображення

  • Вам буде запропоновано ввести логін та пароль

  • Після запуску CommandP Prompt ви можете двічі перевірити, яким користувачем ви працюєте, як за допомогою команди whoami.

  • Тепер ви можете змінити каталог на свій проект і запустити

dotnet run

  • У Visual Studio натисніть Ctrl + Alt + P (Прикріпити до процесу - також можна знайти в меню налагодження)

введіть тут опис зображення

  • Переконайтеся, що встановлено прапорець "Показувати процеси від усіх користувачів".
  • Знайдіть запущений процес і приєднайте налагоджувач.

-1

Я використовую Visual Studio 2015 і намагаюся налагодити веб-сайт з різними обліковими даними.

(Зараз я тестую веб-сайт у мережі розробників, який має копію активного активного каталогу; я можу «викрасти» облікові записи користувачів, щоб перевірити дозволи безпечним способом)

  1. Почніть налагоджувати з вашим звичайним користувачем, переконайтесь, що ви можете перейти до http: // localhost: 8080 як звичайно тощо
  2. Надайте іншому користувачеві "Повний контроль" доступ до домашнього каталогу звичайного користувача, тобто C: \ Users \ Colin
  3. Зробіть іншого користувача адміністратором на вашому комп'ютері. Клацніть правою кнопкою миші Комп’ютер> Керування> Додати іншого користувача до групи адміністраторів
  4. Запустіть Internet Explorer від іншого користувача (Shift + клацніть правою кнопкою миші Internet Explorer, Запустіть від іншого користувача)
  5. Перейдіть до URL-адреси localhost у цьому вікні IE

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.