【问题标题】:Track down an application pool user account跟踪应用程序池用户帐户
【发布时间】:2016-12-16 14:10:24
【问题描述】:

我需要找出应用程序池正在使用帐户的位置,以便我可以重置其密码。由于文档不足,尚不清楚它是否已被使用或在哪里。它可能被此处任何服务器上的应用程序池使用,无论是用于 Web 应用程序还是 Sharepoint 实例。我在一些我怀疑的服务器上查看了 IIS,但到目前为止还没有找到它。

这是一个名为IisUser 的域帐户,专为与 IIS 一起使用而创建。我希望可能有一个我可以运行的 powershell 命令或类似的东西?

如果这是不可能的,为了避免破坏任何现有的应用程序,我需要做什么才能创建一个合适的用户供应用程序池使用?专门用于查询 LDAP 服务器。我在尝试与 LDAP 通信的应用程序中遇到了诸如 System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)Unable to cast object of type 'System.DirectoryServices.AccountManagement.GroupPrincipal' to type 'System.DirectoryServices.AccountManagement.UserPrincipal'. 之类的错误。它在本地工作,但不能在网络服务器上工作。我为此找到了一些建议的修复方法,例如将 apppool 更改为 NETWORKSERVICE 或更改各种 webconfig 设置,但没有任何效果。我知道IisUser 帐户可以工作!我只是不知道密码,并且在我知道它的用途之前无法重置它。

【问题讨论】:

    标签: asp.net iis application-pool


    【解决方案1】:

    首先在这里参考这篇文章:
    How to list all the services running with a service account in a server using Powershell
    在发布问题之前,请始终使用此处的搜索。

    如果由于某种原因上述解决方案不起作用,请在下面执行以下肮脏的工作:
    1.在您的服务器上转到 SharePoint 管理中心
    2. 转到监控 >> 配置诊断日志
    3. 选择您要记录的服务类型。小心不要选择所有这些,因为您会淹没日志并扼杀性能。
    4. 在此处下载一个名为“SharePoint Log viewer”的小应用程序:
    https://sharepointlogviewer.codeplex.com/
    这是一个免费且非常有用的应用程序。
    5. 在查看器中打开其中一个日志,将过滤器设置为“任何字段”并使用用户名 IisUser 进行过滤。
    如果您没有找到任何匹配的记录,请加载不同的日志,直到找到为止。
    6. 如果您仍然找不到与用户相关的任何内容,请取消选中配置诊断日志记录中的先前选择并进行新选择。
    7. 再次浏览日志。重复此过程,直到找到匹配项。

    【讨论】:

    • 我进行了搜索,但没有符合我的情况。如果我知道它属于哪个 Sharepoint 服务器(如果它甚至与 Sharepoint 有任何关系,谁知道......)我将能够轻松找到它。我的问题是它可能存在于大约 25 台服务器和数百个应用程序的任何地方。上面的 ps 命令似乎只在一台服务器上起作用。
    • 好的,所以编写一个小脚本并将其部署到您的场中。当然,如果你有那么多服务器/机器,你就有能力大规模部署任何东西。将结果通过电子邮件发送给您或写入中心位置的日志文件,例如网络驱动器。在该脚本中使用 ps 命令。确保日志文件具有包含服务器名称的命名约定。
    • 您可以使用 Ansible 等工具进行集中部署。 ansible.com - 我认为它有一些免费功能或演示。您也可以使用 SCCM。
    猜你喜欢
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2018-10-26
    相关资源
    最近更新 更多