Как получить локализованную версию встроенной учетной записи Windows 'Network Service'? - PullRequest
11 голосов
/ 12 октября 2011

Для настройки моего веб-приложения мне нужно предоставить полный контроль над определенной папкой для учетной записи 'NETWORK SERVICE'.Работает нормально, но на неанглийских системах я получаю System.Security.Principal.IdentityNotMappedException.Это связано с тем, что имя этой встроенной учетной записи локализовано для этой системы (я использую скрытое значение 'NETWORK SERVICE').Есть ли способ программно узнать, что такое локализованная версия 'NETWORK SERVICE'?

Ответы [ 2 ]

16 голосов
/ 12 октября 2011

Просто используйте этот код:

var account = new SecurityIdentifier(WellKnownSidType.NetworkServiceSid, null).Translate(typeof(NTAccount)).Value;
2 голосов
/ 12 октября 2011

Полагаю, вы можете p / invoke LookupAccountSid () , поскольку он возвращает локализованное имя учетной записи .SID Network Service равен S-1-5-20.

. Сигнатура метода и пример вызова можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...