- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Library我从 Microsoft 发现,我一直在尝试(使用 C#)使用 Live@Edu 为我的用户提供电子邮件帐户,图书馆使用远程 PowerShell session 来执行此操作。我用模拟本地管理员帐户的 using() { }
block 封装了 PowerShell 调用。当我在我自己的开发机器上运行代码时,它运行良好并在 Live@Edu 上配置了帐户,但是当我在生产服务器上运行相同的代码时,我从 PowerShell 收到了 Access is Denied
错误。
我刚刚注意到,如果我将服务器上的 IIS 应用程序池用户更改为我自己的域帐户,则在生产服务器上一切正常,但将其保留为 ApplicationPoolIdentity
不起作用。因此,即使在我的代码中我模拟了本地管理员,这些凭据似乎也没有传递到 PowerShell session 。奇怪的是,当脚本在我自己的机器上运行时,也在 ApplicationPoolIdentity
下,没有问题,这让我相信脚本实际上是在我自己的机器上运行的(我是本地管理员)。
我确实让代码吐出了 $env:username
的值,它给了我机器名,我期待它给我它运行的实际用户名,因为这就是我当我直接在 PowerShell 窗口中键入该命令时获取。
当使用我在代码中模拟的凭据以交互方式登录到远程服务器时,我可以手动将所有 PowerShell cmdlt 键入 PowerShell 窗口,它们工作正常。
我不想让我的 IIS 应用程序池始终在管理员帐户下运行,因为这看起来很愚蠢,那么有没有一种方法可以让我以管理员身份运行 PowerShell 脚本,这比我当前正在执行的模拟更进一步?
更新:
发生了一件奇怪的事情,它被视为对我来说有效的解决方案。将我的代码部署到我创建的服务器后,添加了一个本地管理员帐户。然后我转到 IIS 应用程序池并将所有者从 ApplicationPoolIdentity
更改为我刚刚创建的管理员帐户。之后该页面可以正常运行 PowerShell 脚本。我以前就知道这一点,但不想让 IIS 使用管理员帐户。然后我继续将应用程序池设置回 ApplicationPoolIdentity
并删除本地管理员帐户,页面仍然有效!?我重新启动了 IIS 和 Web 服务器本身,一切正常。我能想到的是,将应用程序池移至管理员帐户会永久更改应用程序池中的某些属性。我现在放了一个 modified question on ServerFault .
最佳答案
原来这个问题与 IIS 应用程序池中的 Load User Profile
选项有关,因为我的应用程序在服务器上被设置为 False
(False
是 Windows Server 2008 的默认值)。在阅读了这个属性之后,我不完全确定为什么这对我的场景很重要,但这是我本地机器上 IIS 中与 Web 服务器所具有的设置不同的设置。现在,所有 PowerShell 调用都可以在服务器上完美运行。
关于c# - ApplicationPoolIdentity 下来自 C# 的远程 PowerShell session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12184393/
当我在部署在一台机器上的网站上使用 ApplicationPoolIdentity (Win Server 2008 R2) 并尝试访问 SQL Server 时,我得到: Login failed
如何授予 ApplicationPoolIdentity 写入应用程序事件日志的权限? 我读过关于将用户添加到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
在我们的 Windows 2008 R2 服务器上,我有一个在默认 ASP.NET v4.0 应用程序池下运行的站点。 ASP.NET v.4.0 应用程序池的标识设置为“ApplicationPoo
我的设置:W2K8-R2 IIS7.5 x64 位服务器(尽管应用程序池在 32 位上运行) 我们有一个 (.net 4.0) Web 应用程序,它在“ApplicationPoolIdentity”
我们最近升级到 IIS7 作为核心 Web 服务器,我需要了解权限方面的概述。以前,当需要写入文件系统时,我会授予 AppPool 用户(网络服务)对目录或文件的访问权限。 在 IIS7 中,我发现
在 ASP.NET 4.0 中执行 AD 搜索时,我收到 COM 异常:发生操作错误 (0x80072020) 线程Active Directory COM Exception - An operat
我在 IIS7 中有一个站点,在 ApplicationPoolIdentity 下运行。 是否可以授予 ApplicationPoolIdentity 访问网络文件的权限? 我知道我可以通过向用户授
我的 Web 应用程序通常会安装为使用 applicationPoolIdentity: 但是我有一类用户想要使用特定的域用户,我通常会这样编写: 为此制作用户界面非常简单,但是有没有一种方法可
这个问题已经有答案了: IIS7 Permissions Overview - ApplicationPoolIdentity (8 个回答) 已关闭10 年前。 当我尝试访问 ASP.NET MVC
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
使用 Library我从 Microsoft 发现,我一直在尝试(使用 C#)使用 Live@Edu 为我的用户提供电子邮件帐户,图书馆使用远程 PowerShell session 来执行此操作。我
澄清标题。 当您在 IIS 中创建应用程序池时,您需要为其命名。然后,您可以将标识设置为 ApplicationPoolIdentiy。 然后 Windows 会创建这个您看不到的魔法用户。假设应用程
我在 Windows 10 中启动进入我的用户配置文件时遇到问题,并且可以通过将此注册表项中我的用户配置文件的 RefCount 设置为 0 来解决此问题: HKEY_LOCAL_MACHINE\SO
我正在创建目录,并将文件写入我的 Web 应用程序中的共享文件夹,该应用程序托管在 Windows Server 2008 上。我正在运行具有 ApplicationPoolIdentity 标识的应
我正在使用运行 IIS 8.5 的新 Windows 2012 R2 服务器。我在默认的 wwwroot 文件夹中安装了 PHP 和 Joomla 站点以用于测试目的 (C:\inetpub\wwwr
我有一个 Web 应用程序(滥用)使用 System.Diagnostics Tracing。和往常一样,一切都很顺利,直到我们本周开始制作,我们的听众都没有受到影响。 经过一番研究,这显然是用户帐户
我在查找 ASP.NET 4 应用程序在尝试获取给定用户的用户组时失败的问题时遇到了麻烦。与此应用程序关联的应用程序池设置为在 ApplicationPoolIdentity 下运行。 异常信息 Sy
这是我在 SO 中的第一个问题,如果我有语法错误,请向我道歉。 问题描述: 我在 IIS 7 (Windows Server 2008) 和 SQL Server 2008 R2 上安装了基于 32
我正在尝试在 Windows Server 2012(使用 IIS 8)上部署 ASP.NET 应用程序,但在使用 ApplicationPoolIdentity 或自定义帐户(而非 NetworkS
我是一名优秀的程序员,十分优秀!