Visual Studio «Запуск от имени другого пользователя» не может очистить кэшированные учетные данные TFS

Обновить Мне удалось решить эту проблему, получив от пользователя разрешения на удаленное подключение к рабочему столу с использованием набора учетных данных 2 и, таким образом, удалив сохраненные учетные данные из диспетчера учетных данных.

Я захожу на свой сервер с одним набором учетных данных и открываю Visual Studio 2012 с помощью «Запуск от имени другого пользователя» (сдвиг + Щелкните правой кнопкой мыши), поскольку мне нужен второй набор учетных данных для развертывания в моем dev. окр. Сайт SharePoint.

Ранее я делал это выше, а затем подключился к TFS, используя третий набор учетных данных, поскольку у моего пользователя (второй набор учетных данных) еще не было доступа. Теперь у моего пользователя есть доступ, и я хочу использовать эти учетные данные.
TFS автоматически регистрирует меня с третьим набором учетных данных каждый раз, когда я открываю VS, используя «Запуск от имени другого пользователя» - однако, если я обычно открываю VS без использования «Запуск от имени другого пользователя», меня просят войти в TFS.

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

Так как же «очистить» кэшированные учетные данные TFS при использовании «Запуск от имени другого пользователя»?

Ответы на вопрос(5)

но очистка настроек AppData не помогла.

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

HKEY_CURRENT_USER\Software\Microsoft\VSCommon\14.0\ClientServices\TokenStorage\VisualStudio\VssApp

Удаление ключа сработало, но я также обнаружил, что можно сделать то же самое программно:

var clientCredentails = new VssClientCredentialStorage();

// URI of the target TFS server
var tfsUri = new Uri("https://[username].visualstudio.com/DefaultCollection/");

// Find the cached credentials
var federatedCredentials = clientCredentails.RetrieveToken(tfsUri, VssCredentialsType.Federated);

// Remove the credentials from the cache
clientCredentails.RemoveToken(tfsUri, federatedCredentials);

когда мне нужно было войти в локальную TFS под другой учетной записью, отличной от моей учетной записи Windows (в Active Directory, к которой подключен TFS), но я не смог увидеть учетные данные в диспетчере.

Решение было отключить внутри VS (Команда меню-> Отключить). Затем создайте учетную запись Windows в диспетчере учетных данных с тем же пользователем, что и мой пользователь Windows, но с неверным паролем. URL / сервер был просто "TFS" (без порта и т. Д.).

Когда я запускаю VS, он не может войти в TFS и запрашивает правильный пароль и имя пользователя. Затем я могу изменить это на другого пользователя и VS по умолчанию это в следующий раз.


C: \ Users [ИМЯ ПОЛЬЗОВАТЕЛЯ] \ AppData \ Local \ Microsoft \ Team Foundation \ 5.0 \ Cache

Вы также можете попробовать использовать/ параметр профиля и указав профиль имени пользователя при запуске.

Runas /profile /user:[DOMAIN]\[administrator] "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe"

http://technet.microsoft.com/en-us/library/bb490994.aspx

 user55741912 дек. 2013 г., 14:32
Пробовал, без разницы: /
 Edward Thomson12 дек. 2013 г., 15:04
Мы не помещаем имена пользователей / пароли в кеш, мы помещаем их в хранилище учетных данных. Очистка кэша не будет иметь никакого эффекта.
 user55741912 дек. 2013 г., 14:56
Я сделал это для каждого пользователя в c: \ Users
 malexander12 дек. 2013 г., 14:51
Вы очистили кеш под другим пользователем \ appdata или просто под своим?
 malexander12 дек. 2013 г., 16:14
@ EdwardThomson Спасибо, это приятно знать!

а в кешированном имени пользователя. И это хранится в VersionControl.config в кэше. Достаточно просто взломать этот файл, чтобы TFS прекратила попытки соединения со старой электронной почтой.

 Gyromite20 июн. 2016 г., 23:02
Я нашел файл, на который вы ссылаетесь, в папке «C: \ Users \ {Имя пользователя} \ AppData \ Local \ Microsoft \ Team Foundation \ {Ver} \ Cache \ Volatile \ {SomeGUID} _http \ VersionControl.config». Я просто переименовал его в VersionControl.config.old, и все работало отлично.
Решение Вопроса

Учетные записи пользователей> Управление своими учетными данными> выберите свой сервер Team Foundation и выберите удалить / изменить - альт! При следующем входе в Team Explorer вам будет предложено ввести новый набор учетных данных.

Ref:http://blogs.msdn.com/b/visualstudioalm/archive/2012/08/29/clearing-the-credentials-for-connecting-to-a-team-foundation-server.aspx

 Edward Thomson12 дек. 2013 г., 15:05
@DanielZiga Возможно, ваш администратор может помочь тогда. Учетные данные хранятся в диспетчере учетных данных пользователя, от имени которого вы запускали VS. (Они не могут быть в вашем диспетчере учетных данных, тогда Visual Studio не сможет получить к ним доступ при работе от имени другого пользователя.)
 Edward Thomson12 дек. 2013 г., 13:55
Чей менеджер учетных данных пуст? Ваш или пользователь, на самом деле вы используете VS как?
 user55741912 дек. 2013 г., 13:16
Попробовал это, но мой Диспетчер учетных данных пуст.
 user55741912 дек. 2013 г., 15:11
@ EdwardThomson Спасибо. Они дали моему пользователю разрешения RDP на сервер, и мне удалось удалить учетные данные.
 deadManN23 сент. 2015 г., 19:15
Для меня это не показывает ничего в учетных данных, я делал это несколько раз раньше, но на этот раз все, что я не сделал, я также добавил URL-адрес сервера, чтобы подделать его с неправильным паролем, но это не помогло. не получилось, просто продолжайте входить в систему: '(

Ваш ответ на вопрос