0

我目前的工作项目是创建一个正在运行的网站的自动更新列表,供内部使用,通过网络浏览器访问。我发现我可以通过编写一个 ASP 脚本、读取 MetaBase.xml 中的 XML 数据并将其显示给用户来做到这一点。

我已经写好了我的剧本,并且正在努力完成我的工作。唯一的一点是,我要自定义文件权限(默认情况下,系统目录下谁可以读取文件的限制是严格的)。我想出了我需要实现的权限,让它工作......

...但是每次有人对 IIS 进行更改时,权限都会重置为默认权限。

我已尽一切努力防止这种行为 - 删除了更改此文件上每个帐户的用户权限的能力(除了我设置的虚拟帐户以防万一),将所有权更改为所述虚拟帐户并删除所有其他用户的权限取得所有权等。 尽管如此,每次对 IIS 进行更改时,所有权都会更改回管理员组,并且权限会更改回默认值。

有什么办法可以防止这种情况发生吗?或者,或者:如果我解决这个问题的方法完全愚蠢,有人可以提出更好的方法吗?

谢谢!

4

1 回答 1

1

如果您对 ASP.NET / C# 没问题,那么您可以使用 DirectorEntry 枚举站点列表

在此处查看类似的帖子: 如何在 C# 中查找 IIS 站点 ID?

DirectoryEntry de = new DirectoryEntry("IIS://localhost/W3SVC");
foreach (DirectoryEntry child in de.Children)
{
    if (child.SchemaClassName == "IIsWebServer")
    {
        Response.Write(child.Properties["ServerComment"].Value + "<br/>");
    }
}

权限方面,您可能需要在特权帐户下运行该应用程序

于 2012-10-03T04:34:28.327 回答