我目前的工作项目是创建一个供内部使用的正在运行的网站的自动更新列表,以便通过Web浏览器进行访问。我发现我可以通过编写ASP脚本,读取MetaBase.xml中的XML数据并将其显示给用户来实现这一目的。
我已经编写了我的脚本并在我的最终工作。唯一的问题是,我必须自定义文件权限(默认情况下,对谁可以读取系统目录中的文件的限制是严格的)。我想出了我需要实现的权限,让它工作......
...但每次有人对IIS进行更改时,权限都会重置为默认权限。
我已经尝试了一切来防止这种行为 - 删除了更改此文件上每个帐户的用户权限的能力(我设置的虚拟用户除外),将所有权更改为所述虚拟帐户并删除了所有其他用户获取所有权等。但是,每次对IIS进行更改时,所有权都会更改回管理员组,并且权限会更改回默认值。
有什么方法可以防止这种情况发生?或者,或者:如果我对这个问题的解决方法是完全愚蠢的,那么有人会建议一个更好的吗?
谢谢!
答案 0 :(得分:1)
如果您对ASP.NET / C#没问题,那么您可以使用DirectorEntry枚举站点列表
在此处查看类似帖子: How can I look up IIS site id in C#?
DirectoryEntry de = new DirectoryEntry("IIS://localhost/W3SVC");
foreach (DirectoryEntry child in de.Children)
{
if (child.SchemaClassName == "IIsWebServer")
{
Response.Write(child.Properties["ServerComment"].Value + "<br/>");
}
}
权限明确,您可能需要在特权帐户下运行该应用程序