技術社群

  • twMVC
  • Study4TW
  • 台灣 SQL PASS

技術專家Blog

參考文件

微軟論壇

  • MSDN Forum
  • TechNet Forum

網站分析工具

  • PageRank

最新回應

看過 余小章的 [C#.NET][VB.NET] 如何 存取 Active Directory 帳號資訊 / How to Get Active Directory of Information

直覺想到 那麼要如何讀取 電腦名稱

其實很簡單 利用 DirectoryEntry 的 Children 就可以了

[C#]

Domain domain = Forest.GetCurrentForest().Domains[0];//取得電腦所在網域名稱

DirectoryEntry computers = new DirectoryEntry("LDAP://CN=computers," + GetDomainName(domain.Name), txtUserID.Text, txtPassword.Text);
            
//DC 電腦名稱
foreach(DomainController dc in domain.DomainControllers)
{
    lbComputers.Items.Add(dc.Name.Split('.')[0].ToUpper());
}

//NonDC 電腦名稱
foreach (DirectoryEntry computer in computers.Children)
{
    string[] split = null;
    split =  computer.Name.Split('=');
    lbComputers.Items.Add(split[1]);
}

lbComputers.Sorted = true;

 

[VB .Net]

Dim domain As Domain = Forest.GetCurrentForest().Domains(0) '取得電腦所在網域名稱

Dim computers As New DirectoryEntry("LDAP://CN=computers," + GetDomainName(domain.Name), txtUserID.Text, txtPassword.Text)

'DC 電腦名稱
For Each dc As DomainController In domain.DomainControllers
    lbComputers.Items.Add(dc.Name.Split(".")(0).ToUpper())
Next

'NonDC 電腦名稱
For Each computer As DirectoryEntry In computers.Children
    Dim split As String() = Nothing
    split = computer.Name.Split("=")
    lbComputers.Items.Add(split(1))
Next

lbComputers.Sorted = True

 

CSWindowsApplication1.rar

VBWindowsApplication1.rar


關連文章

[Visual Basic 2003~2005開發秘訣與範例大全] 建構函式(Constructor)與解構函式(Destructor)

[C#][VB.NET]變更預設印表機

[C#][API]SendInput

手動加入 [繼承的表單]

回應

  • # re: [C#][VB.NET]列出網域中所有電腦名稱(包含網域控制站) by ERIC

    .netframework 4.0 沒有computers物件, 該如何修改?

    2012/3/20 下午 05:16 | 回覆

  • # re: [C#][VB.NET]列出網域中所有電腦名稱(包含網域控制站) by Alex Lee

    to ERIC :


    computers 是一個物件變數,所以我假設你遇到的問題是類似 :
    找不到型別或命名空間名稱 'Domain' 
     
    你可以先確認
    1. 是否有將 System.DirectoryServices.dll 加入參考
    2. 是否有引用System.DirectoryServices及System.DirectoryServices.ActiveDirectory兩個命空間

    2012/3/21 上午 01:20 | 回覆

登入後使用進階評論

Please add 4 and 8 and type the answer here: