C# 网络服务应用程序池标识拒绝访问以从AD中的组中删除用户

C# 网络服务应用程序池标识拒绝访问以从AD中的组中删除用户,c#,asp.net-mvc-5,active-directory,network-service,C#,Asp.net Mvc 5,Active Directory,Network Service,当我将应用程序发布到web服务器时。在IIS管理器中,我为正在使用的应用程序池提供了网络服务标识 在我的应用程序中,我提供了从特定Active Directory组中删除/添加用户的功能。代码如下: public static void RemoveUserFromGroup(string userId, string groupName) { try { using (PrincipalContext pc = new PrincipalContext(Cont

当我将应用程序发布到web服务器时。在IIS管理器中,我为正在使用的应用程序池提供了
网络服务
标识

在我的应用程序中,我提供了从特定Active Directory组中删除/添加用户的功能。代码如下:

public static void RemoveUserFromGroup(string userId, string groupName)
{
    try
    {
        using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "myDomain"))
        {
            GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, groupName);
            group.Members.Remove(pc, IdentityType.UserPrincipalName, userId);
            group.Save();
        }
    }
    catch (Exception E)
    {
        throw E;

    }
}
这在我测试本地时有效,因为我的帐户在处理AD时具有管理员权限。因此,为了检查,在页面加载时,我通过以下操作记录Windows用户名:

var thread = '@System.Security.Principal.WindowsIdentity.GetCurrent().Name';
console.log(thread);
这将导致
NT AUTHORITYNETWORK SERVICE
。但是当我尝试从广告组中删除用户时。。我得到:

访问被拒绝

如何授予
网络服务
访问权限来执行此操作?或者有其他方法可以做到这一点吗?

“NT AUTHORITY\Network Service”是一个内置的计算机级别的Windows帐户,可供多种进程使用,而不仅仅是IIS(加载服务控制面板(启动>运行>“Services.msc”)并查看“以用户身份登录”列。您将看到几个Windows组件在此标识下运行。因此,您不应该更改帐户的权限-您可能无法更改


您可以做的是创建一个具有适当权限的域用户,并将应用程序池配置为使用该身份运行。或者,它看起来像是一个允许指定用户名和密码的应用程序池,尽管这意味着您需要将用户名和密码存储在自己的某个位置。

为什么要删除其他应用程序池问题只是为了欺骗吗?@Amy,因为我发现了更多的信息,可以在一个更清晰的问题中提供这些信息,而不是有人通过滚动浏览你和我的评论来获取更多信息。将来编辑问题。我想你的意思是,不要使用内置帐户的选项。我会创建一个
de>自定义帐户
?@BviLLe_Kid,Yupt这允许我在那里创建用户名和密码?然后我必须找到该用户名并赋予它正确的权限?@BviLLe_Kid“您可以做的是创建具有适当权限的域用户,并配置应用程序池以使用该身份运行。”我已经创建了一个域帐户..并将该帐户添加到我所属的组..并且我仍然获得
访问被拒绝
。但是当我使用我的个人帐户..它可以工作。。。