C# 列出虚拟目录权限
因此,我遇到了这个问题,列出了虚拟目录。本文还介绍了如何为DirectoryEntry指定用户名和密码。但我仍然得到访问被拒绝 关于权限,我仍然没有掌握一些东西。有什么想法吗C# 列出虚拟目录权限,c#,visual-studio-2008,C#,Visual Studio 2008,因此,我遇到了这个问题,列出了虚拟目录。本文还介绍了如何为DirectoryEntry指定用户名和密码。但我仍然得到访问被拒绝 关于权限,我仍然没有掌握一些东西。有什么想法吗 class Program { static void Main(string[] args) { //http://www.developmentnow.com/blog/2004/12/29/recursively-list-virtual-directo
class Program
{
static void Main(string[] args)
{
//http://www.developmentnow.com/blog/2004/12/29/recursively-list-virtual-directories-in-iis-with-c-and-directoryservices/
// call the function once to kick it off
WriteVDirs("localhost", 2, "");
}
// function that recursively walks through IIS dir & vdirs & lists all the virtual directories
public static void WriteVDirs(string serverName, int SiteNumber, string path)
{
DirectoryEntry de =
new DirectoryEntry("IIS://" + serverName + "/W3SVC/" +
SiteNumber.ToString() + "/Root" + path);
de.Username = "my-machine/administrator";
de.Password = "admin";
DirectoryEntries dirs;
try
{
dirs = de.Children;
foreach (DirectoryEntry d in dirs)
{
if (0 == String.Compare(d.SchemaClassName, "IIsWebDirectory"))
{
string fullPath = path + "/" + d.Name;
WriteVDirs(serverName, SiteNumber, fullPath);
}
else if (0 == String.Compare(d.SchemaClassName, "IIsWebVirtualDir"))
{
string fullPath = path + "/" + d.Name;
Console.WriteLine(fullPath + " : " + d.Properties["Path"].Value);
WriteVDirs(serverName, SiteNumber, fullPath);
}
}
}
catch (Exception ex)
{
Console.WriteLine("ERROR: " + ex.Message);
}
}
}
如果我以管理员身份运行Visual Studio,则上面的代码可以正常运行,而无需指定用户名和密码。如果用户名有区别,那么用户名不应该是我的计算机\管理员吗?没有区别,仍然拒绝访问。哪一行代码引发拒绝访问异常?