C# 列出虚拟目录权限

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

因此,我遇到了这个问题,列出了虚拟目录。本文还介绍了如何为DirectoryEntry指定用户名和密码。但我仍然得到访问被拒绝

关于权限,我仍然没有掌握一些东西。有什么想法吗

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,则上面的代码可以正常运行,而无需指定用户名和密码。如果用户名有区别,那么用户名不应该是我的计算机\管理员吗?没有区别,仍然拒绝访问。哪一行代码引发拒绝访问异常?