如何获取内置窗口'Network Service'帐户的本地化版本?



为了设置我的web应用程序,我需要对'NETWORK SERVICE'帐户的某个文件夹进行完全控制。它工作得很好,但在非英语系统上,我得到System.Security.Principal.IdentityNotMappedException。这是因为这个内置帐户的名称针对该系统进行了本地化(我使用的是硬编码值'NETWORK SERVICE')。是否有一种方法可以通过编程方式找出'NETWORK SERVICE'的本地化版本?

使用下面的代码:

var account = new SecurityIdentifier(WellKnownSidType.NetworkServiceSid, null).Translate(typeof(NTAccount)).Value;

我猜您可以调用LookupAccountSid(),因为它返回本地化的帐户名称。Network Service的SID为S-1-5-20

您可以在这里找到方法签名和调用示例。

最新更新