Reputation: 3458
In order to setup my web application I need to give a full control to a certain folder for a 'NETWORK SERVICE'
account. It works fine, but on a non English systems I'm getting System.Security.Principal.IdentityNotMappedException
. This is because the name of this built-in account is localized for that system (I'm using harcoded value 'NETWORK SERVICE'
).
Is there a way to find out programmatically what the localized version of 'NETWORK SERVICE'
is?
Upvotes: 11
Views: 3249
Reputation: 5422
Just use this code:
var account = new SecurityIdentifier(WellKnownSidType.NetworkServiceSid, null).Translate(typeof(NTAccount)).Value;
Upvotes: 19
Reputation: 262919
I guess you can p/invoke LookupAccountSid(), since it returns the localized account name. The SID of Network Service
is S-1-5-20
.
You can find the method signature and an invocation example here.
Upvotes: 2