列出活动目录中的所有计算机

时间:2022-11-10
本文介绍了列出活动目录中的所有计算机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想知道如何从活动目录中获取所有计算机/机器/电脑的列表?

Im wondering how to get a list of all computers / machines / pc from active directory?

(试图让这个页面成为搜索引擎的诱饵,我会回复自己.如果有人有更好的回复,我会接受)

(Trying to make this page a search engine bait, will reply myself. If someone has a better reply il accept that )

推荐答案

如果您有一个非常大的域,或者您的域对每次搜索可以返回的项目数量进行了限制,您可能必须使用分页.

If you have a very big domain, or your domain has limits configured on how how many items can be returned per search, you might have to use paging.

using System.DirectoryServices;  //add to references

public static List<string> GetComputers()
{
    List<string> ComputerNames = new List<string>();

    DirectoryEntry entry = new DirectoryEntry("LDAP://YourActiveDirectoryDomain.no");
    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);
        ComputerNames.Add(ComputerName);
    }

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

    return ComputerNames;
}

这篇关于列出活动目录中的所有计算机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何获取已登录 Windows 用户的名字和姓氏? 下一篇:如何在 Active Directory 中获取/更新“联系人"?

相关文章

最新文章