簡體   English   中英

從活動目錄和OU的計算機名稱

[英]get computer name from active directory and OU's

我有一個代碼來獲取出現在doain中的所有計算機名稱,這些計算機名稱不屬於任何OU。

DirectoryEntry entry = new DirectoryEntry("LDAP://" + "Domain Name");
        DirectorySearcher mySearcher = new DirectorySearcher(entry);
        mySearcher.Filter = ("(objectClass=computer)");
        mySearcher.SizeLimit = int.MaxValue;
        mySearcher.PageSize = int.MaxValue;

        foreach (SearchResult resEnt in mySearcher.FindAll())
        {
            //"CN=SGSVG007DC"
            string ComputerName = resEnt.GetDirectoryEntry().Name;
            if (ComputerName.StartsWith("CN="))
                ComputerName = ComputerName.Remove(0, "CN=".Length);
            compList.Add(ComputerName);
        }

        mySearcher.Dispose();
        entry.Dispose();

我想要的是..連同這些計算機名一起獲得屬於域內不同OU的計算機名...

任何建議...謝謝

您可以嘗試執行嵌套的for循環。 我做了一個小項目,將所有對象添加到TreeView中。 這是一個片段:

    public delegate void Del(TreeNode node);

    public window_main()
    {
        InitializeComponent();
        Thread t = new Thread(load_ad);
        t.Start();
    }

    private void addNode(TreeNode node)
    {
        treeViewObjects.Nodes.Add(node);
    }
    private void load_ad()
    {
        TreeNode root = new TreeNode(directoryEntry.Name.Replace("\\", ""));
        root.Tag = directoryEntry;

        Del del = addNode;
        treeViewObjects.Invoke(del, root);

        foreach (DirectoryEntry myChildDirectoryEntry in directoryEntry.Children)
        {
            TreeNode node = rec(myChildDirectoryEntry);

            treeViewObjects.Invoke(new Action(() =>
            {
                root.Nodes.Add(node);
            }));
        }
    }
    private TreeNode rec(DirectoryEntry dir)
    {
        TreeNode node = new TreeNode(dir.Name.Replace("\\", ""));
        node.Tag = dir;
        foreach (DirectoryEntry myChildDirectoryEntry in dir.Children)
        {
            try
            {
                node.Nodes.Add(rec(myChildDirectoryEntry));
            }
            catch
            {
                TreeNode nodeChild = new TreeNode(dir.Name.Replace("\\", ""));
                nodeChild.Tag = myChildDirectoryEntry;
                node.Nodes.Add(nodeChild);
            }
        }
        return node;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM