C 獲取AD域中計算機和使用者的資訊

2022-02-13 04:39:31 字數 2314 閱讀 9078

如果你的計算機加入了某個ad域,則可以獲取該域中所有的計算機和使用者的資訊。

所用程式集,需要.net framework 4。

新增程式集引用 system.directoryservices.accountmanagement

獲取ad網域名稱稱,未加入ad域的,只能獲取計算機名稱。

如果未加入任何域,則後續的獲取域使用者、計算機等操作將無法進行,例項化域上下文物件時,會丟擲異常。

1 ipglobalproperties ipglobalproperties =ipglobalproperties.getipglobalproperties();

2string hostname =ipglobalproperties.hostname;

3string domainname = ipglobalproperties.domainname;

獲取指定域中的使用者的查詢物件。

1 principalcontext principalcontext = new

principalcontext(contexttype.domain, domainname);

2 userprincipal userprincipal = new

userprincipal(principalcontext);

3 principalsearcher principalsearcher = new principalsearcher(userprincipal);

查詢域中使用者及其資訊。

1 stringbuilder sb = new

stringbuilder();

2foreach (userprincipal userprincipalsearchresult in

principalsearcher.findall())3"

, userprincipalsearchresult.userprincipalname));

姓氏last name:

", userprincipalsearchresult.surname));

中間名:

", userprincipalsearchresult.middlename));

given name/first name名:

", userprincipalsearchresult.givenname));

名稱:"

, userprincipalsearchresult.name));

", userprincipalsearchresult.lastlogon));10}

11userprincipal.dispose();

12 console.writeline(sb.tostring());

查詢域中計算機及其資訊,類似於查詢使用者。首先使用域上下文物件例項化乙個計算機物件,然後使用該物件例項化乙個查詢物件。

查詢的結果,即為計算機物件,迴圈獲取資訊即可。

1 computerprincipal computerprincipal = new

computerprincipal(principalcontext);

2 principalsearcher = new

principalsearcher(computerprincipal);3//

4foreach (computerprincipal computerprincipalsearchresult in

principalsearcher.findall())5"

, computerprincipalsearchresult.userprincipalname));

描述:"

, computerprincipalsearchresult.description));

是否啟用:

", computerprincipalsearchresult.enabled));

sam賬號名:

", computerprincipalsearchresult.samaccountname));

名稱:"

, computerprincipalsearchresult.name));

", computerprincipalsearchresult.lastlogon));12}

13computerprincipal.dispose();

14 console.writeline(sb.tostring());

將自己的電腦加入ad域中 計算機加入到域的注意事項

從windows nt引入 域 domain 概念之後,到windows 2000將域改名為active directory,直到現在的windows server 2012 r2,microsoft仍然在使用active directory這一名詞。現在許多單位已經習慣了使用active dire...

自動移動域中計算機到目標OU的指令碼

當我們工作中不斷的有計算機加入域時,想讓這些計算機自動的移動到目標ou並應用相應策略可以用下面方法 import module activedirectory get adcomputer filter move adobject targetpath ou 公司領導,ou 總公司,ou 公司計算機...

如何查詢並刪除AD域中多餘的計算機帳號?

如何將過期的計算機從computers容器中自動清除?因為有很多時候沒有按正常的方法退域,導致在ad的computers容器中存在很多過時的計算機,有沒有辦法讓它自動清除呢 對我們廣大網路管理員來說,使用者帳號和計算機帳號的管理是我們最長見也是最難管理一項工作。我們知道頻繁的系統重灌和加入域的過程會...