Вы можете попробовать подражать разным пользователям в методе теста, если вы запустите код от имени администратора, вы можете создать локальную учетную запись пользователя внутри теста (или класса теста) и удалить ее в конце.
Редактировать: Извините, я представлял себе, что использовал олицетворение для проверки случая сбоя - я должен был правильно прочитать ваш вопрос :) У меня есть похожие модульные тесты, и они могут создавать локальные учетные записи в mstest. Является ли это хорошей практикой, это другой вопрос.
Я вижу, вы уже сделали, как подсказывает эта страница : установите для основной политики домена приложения значение "WindowsPrincipal". Для меня Thread.CurrentPrincipal.Identity.Name дает мое имя пользователя и тесты проходят с использованием VS 2005 и VS 2008 с таргетингом на .NET 2.0, 3.0 & 3.5.
Вы работаете в Vista / Win7 с UAC и VS без повышенных прав? В противном случае вы можете выполнить репродукцию на другом компьютере, с использованием другой группы или путем создания другой учетной записи локального администратора на своем компьютере и запуска тестов от имени этого пользователя?