为了设置我的web应用程序,我需要完全控制'NETWORK SERVICE'
帐户的某个文件夹。 它工作正常,但在非英语系统,我得到System.Security.Principal.IdentityNotMappedException
。 这是因为这个内置帐户的名称是为该系统本地化的(我使用的是合并值'NETWORK SERVICE'
)。 有没有一种方法来找出编程的'NETWORK SERVICE'
的本地化版本是什么?
只要使用这个代码:
var account = new SecurityIdentifier(WellKnownSidType.NetworkServiceSid, null).Translate(typeof(NTAccount)).Value;
我想你可以p / invoke LookupAccountSid() ,因为它返回本地化的帐户名称 。 Network Service
的SID是S-1-5-20
。
您可以在这里找到方法签名和调用示例。