自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用ADSI實(shí)現(xiàn)自動(dòng)化的活動(dòng)目錄操作方法

系統(tǒng) Windows 自動(dòng)化
本文介紹了一種腳本技術(shù)即活動(dòng)目錄訪問接口(Active Directory Service Interfaces ,ADSI),可以實(shí)現(xiàn)活動(dòng)目錄的自動(dòng)化操作。

ADSI是什么?如何用ADSI實(shí)現(xiàn)自動(dòng)化的活動(dòng)目錄操作,下文給出了詳細(xì)的描述。

網(wǎng)管們都應(yīng)該知道,腳本對(duì)于減輕工作量來說是非常有用的。通過腳本,以前需要手工數(shù)小時(shí)才能完成的工作,現(xiàn)在只需要完全交給電腦自動(dòng)處理就可以了。比如建立一個(gè)Visual Basic Scripting Edition (VBS),Windows Management Instrumentation (WMI)就可以自動(dòng)完成Windows系統(tǒng)中的多種任務(wù)。

而我們今天介紹的另一種腳本技術(shù)可以實(shí)現(xiàn)活動(dòng)目錄的自動(dòng)化操作,這就是活動(dòng)目錄訪問接口(Active Directory Service Interfaces ,ADSI)。使用ADSI,你可以完成任何通過Active Directory GUI界面可以完成的工作,比如創(chuàng)建、刪除、修改目錄對(duì)象(容器、用戶、組,等等)。另外,ADSI可以通過查詢目錄來快速獲得目錄信息。

下面我就來介紹一下ADSI以及它對(duì)活動(dòng)目錄的基本操作。

綁定到目錄

和使用Visual Basic 的GetObject方法綁定到WMI一樣,你也可以基于Lightweight Directory Access Protocol (LDAP)使用GetObject方法綁定目錄。在ADSI腳本中,首先需要指定一個(gè)LDAP驅(qū)動(dòng),這實(shí)際上是一個(gè)名為adsldp.dll的文件,只不過我們要加一個(gè)“LDAP:”作為前綴。這和我們使用WMI腳本的方法類似,只不過在WMI腳本中前綴變成了“Winmgmts:”。另外,你必須指定目錄對(duì)象的路徑,比如域、部門單元、用戶組或者用戶。LDAP驅(qū)動(dòng)和目錄路徑結(jié)合起來被稱為AdsPath。在這段代碼中,我們會(huì)將LDAP和acme.com 域的Marketing單元綁定在一起。

在代碼中我們會(huì)注意到,第一,AdsPath是被引號(hào)和括號(hào)包圍的。我們?cè)诰庉婣DSI腳本或其他任何腳本時(shí),都應(yīng)該使用純文本編輯器,比如Notepad,因?yàn)樵贛icrosoft Word中帶有智能標(biāo)記功能,由它編寫出來的腳本代碼不會(huì)被主機(jī)識(shí)別出來。第二,注意我們是如何設(shè)計(jì)對(duì)象路徑的。所有域名都采用了兩個(gè)字符來標(biāo)識(shí),而這兩個(gè)字符并不是隨便寫的,它們被稱為Attribute Type。它與Object Class一起使用,用來標(biāo)明是屬于容器對(duì)象還是葉子對(duì)象。表A列出了這種表示方法的含義。

 用ADSI實(shí)現(xiàn)自動(dòng)化的活動(dòng)目錄操作方法

舉個(gè)例子,假如我們希望綁定westcoast.acme.com域中Finance OU里面Managers組的成員Mary,我們可以使用這段代碼。

另外,對(duì)于用戶和組來說,cn屬性類型也表示容器,比如"Users"、"Computers"、"Domain Controllers"等。

綁定之后

正如我們所期望的,當(dāng)我們將對(duì)象綁定到活動(dòng)目錄后,就可以執(zhí)行四種基本的操作了。每種操作都由一種方法實(shí)現(xiàn),如表B所示。

用ADSI實(shí)現(xiàn)自動(dòng)化的活動(dòng)目錄操作方法

如果打算使用其中任何一種方法,還需要在語句中以參數(shù)的形式提供相應(yīng)的信息,比如“創(chuàng)建什么內(nèi)容?”之類的。假設(shè)現(xiàn)在我們要在acme.com的Marketing OU中創(chuàng)建一個(gè)名為MSmith的用戶,我們可以使用這段代碼 。

代碼中前兩行表示告訴腳本要綁定到活動(dòng)目錄,然后建立一個(gè)名為MSmith 的User對(duì)象類。接下去兩行看起來可能會(huì)有些陌生,下面我就來解釋一下。對(duì)于一個(gè)用戶,他具有多種屬性可以進(jìn)入存儲(chǔ)在活動(dòng)目錄的數(shù)據(jù)庫(kù)(查看User屬性就能看到了),比如電話號(hào)碼、姓名、辦公室位置等。在這些屬性中,只有用戶名即代碼中的“sAMAccountName”是建立用戶所必須的。因此第三行使用Put方法修改第二行所建立的用戶的屬性。當(dāng)然,我們也可以再添加一些別的屬性。

第四行是用來將修改(創(chuàng)建對(duì)象或修改屬性等動(dòng)作)提交給活動(dòng)目錄的,它使用了一個(gè)叫做SetInfo的方法。如果沒有這最后一行代碼,腳本不會(huì)對(duì)活動(dòng)目錄產(chǎn)生任何影響。

我們還可以使用Get方法獲取活動(dòng)目錄對(duì)象的屬性。通過這段代碼,我們顯示了Marketing OU中的description屬性。

rootDSE

在上面任何一個(gè)代碼范例中,我們都沒有指定服務(wù)器名,這是由于ADSI支持“無服務(wù)器綁定”,也就是我們不需要輸入域控制器的名稱。借由這種特性,我們其實(shí)也不必輸入AdsPath。當(dāng)然我們可以將腳本綁定到根目錄,也就是所謂的Root Directory Service Entry (rootDSE),然后利用它的屬性綁定到當(dāng)前的域。

具體的做法是通過rootDSE中一個(gè)被稱作defaultNamingContext的屬性找到AdsPath,然后再利用AdsPath綁定到當(dāng)前域。這里的“當(dāng)前域”是指用戶登錄的域。假設(shè)當(dāng)前域?yàn)閣estcoast.acme.com,這段代碼 顯示了如何不注明AdsPath即可進(jìn)行綁定。

在代碼中,我們首先綁定到rootDSE,然后利用Get方法獲得了defaultNamingContext屬性并將其賦值給一個(gè)字符串變量。最后我們使用這個(gè)字符串變量作為域名的引用。在這個(gè)例子中,字符串變量strADsPath的實(shí)際值應(yīng)該是LDAP://DC=westcoast, DC=acme, DC=com 。

綁定變量到rootDSE的好處在于,不管當(dāng)前的域是什么都可以使用同一腳本。為了顯示這種方法的實(shí)用價(jià)值,我們?cè)谧约旱幕顒?dòng)目錄實(shí)驗(yàn)室中進(jìn)行了測(cè)試,目標(biāo)是在三個(gè)不同的域中各建立500個(gè)用戶,其用戶名分別為User1、User2......以此類推。你可以想象,假如采用活動(dòng)目錄的GUI界面,我們需要花費(fèi)多長(zhǎng)的時(shí)間才能創(chuàng)建完這些用戶。而當(dāng)我們?cè)诿總€(gè)域中都采用這段腳本,你會(huì)發(fā)現(xiàn)完成這個(gè)任務(wù)是一件相當(dāng)簡(jiǎn)單的事情。

實(shí)際上,有關(guān)ADSI的內(nèi)容遠(yuǎn)不止我們?cè)谶@篇文章中所涉及到的。想獲取更多有關(guān) ADSI的知識(shí),請(qǐng)?jiān)L問微軟MSDN網(wǎng)站上的 "Using Active Directory Service Interfaces" 。

用ADSI實(shí)現(xiàn)自動(dòng)化的活動(dòng)目錄操作方法希望能夠?qū)ψx者有所幫助。

【編輯推薦】

  1. 活動(dòng)目錄用戶如何管理?
  2. 活動(dòng)目錄災(zāi)難管理員應(yīng)該如何應(yīng)對(duì)
  3. Win2000基礎(chǔ)教程之活動(dòng)目錄的三種特性
  4. 活動(dòng)目錄中創(chuàng)建和編輯新的策略文件等問題
  5. 主域控制器重裝系統(tǒng)后如何恢復(fù)活動(dòng)目錄帳號(hào)?
責(zé)任編輯:韓亞珊 來源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2021-04-22 09:03:49

手機(jī)自動(dòng)化測(cè)試

2022-11-15 10:20:55

物聯(lián)網(wǎng)傳感器

2010-03-04 14:32:24

Python自動(dòng)下載文

2018-05-11 08:29:10

Python自動(dòng)化測(cè)試數(shù)據(jù)驅(qū)動(dòng)

2018-05-11 13:39:05

PythonCSV接口測(cè)試

2010-07-28 17:23:23

2015-10-21 15:08:25

電纜自動(dòng)化

2024-06-11 10:41:14

2023-10-30 17:41:29

機(jī)器人自動(dòng)化

2013-07-04 13:37:23

Java開發(fā)速度

2021-07-14 13:11:02

papermillJupyterPython

2010-08-12 18:08:03

ibmdwRational

2010-01-11 10:34:41

VB.NET圖像操作

2011-07-15 10:20:34

活動(dòng)目錄

2020-07-05 23:10:20

網(wǎng)絡(luò)自動(dòng)化網(wǎng)絡(luò)可預(yù)測(cè)性網(wǎng)絡(luò)

2010-02-01 09:40:08

Python操作

2009-12-15 13:59:42

Ruby對(duì)象操作

2010-01-07 10:28:04

VB.NET實(shí)現(xiàn)接口

2023-07-12 15:41:18

2011-03-29 10:16:47

Jave枚舉
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)