在这台计算机上,用户未被授予所请求的登录类型

本文关键字:请求 类型 登录 计算机 用户 | 更新日期: 2023-09-27 18:19:21

我已经创建了一个ASP。. Net应用程序,该应用程序模拟用户以创建AD组,然后作为用户启动powershell进程(与模拟分开)。

由于某些原因,组创建工作正常,并在事件查看器中显示为成功,但当它试图运行PowerShell脚本时,我得到以下错误:

用户在这台机器上没有被授予请求的登录类型。

下面是我正在使用的失败代码:

SecureString securePassword = new SecureString();
        foreach (char c in model.AdminPassword)
        {
            securePassword.AppendChar(c);
        }
        PSCredential psCredential = new PSCredential("CONTOSO''" + User.Identity.Name, securePassword);
        ProcessStartInfo info = new ProcessStartInfo("c:''Windows''system32''WindowsPowerShell''v1.0''powershell.exe", "c:''PowershellScripts''EnableDL.ps1 -dlName '" + model.Name + "'");
        info.UseShellExecute = false;
        info.RedirectStandardOutput = true;
        info.RedirectStandardError = true;
        info.RedirectStandardInput = true;
        info.CreateNoWindow = true;
        info.Domain = "CONTOSO.COM";
        info.UserName = User.Identity.Name;
        info.Password = securePassword;

有没有办法绕过这个错误?理想情况下,我宁愿不修改服务器上的安全策略,并且这个应用程序需要由大约30多个用户使用。

在这台计算机上,用户未被授予所请求的登录类型

我已经设法解决了这个问题。您需要点击开始->管理工具->本地安全策略。

导航到本地策略->用户权限分配->允许本地登录,并添加需要访问的帐户/组的用户名。

对我来说这行不通。我还需要从"拒绝通过远程桌面服务登录"中删除"本地用户"。政策。之后我运行gpupdate/force