成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用ADSI實現自動化的活動目錄操作方法

系統 Windows 自動化
本文介紹了一種腳本技術即活動目錄訪問接口(Active Directory Service Interfaces ,ADSI),可以實現活動目錄的自動化操作。

ADSI是什么?如何用ADSI實現自動化的活動目錄操作,下文給出了詳細的描述。

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

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

下面我就來介紹一下ADSI以及它對活動目錄的基本操作。

綁定到目錄

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

在代碼中我們會注意到,第一,AdsPath是被引號和括號包圍的。我們在編輯ADSI腳本或其他任何腳本時,都應該使用純文本編輯器,比如Notepad,因為在Microsoft Word中帶有智能標記功能,由它編寫出來的腳本代碼不會被主機識別出來。第二,注意我們是如何設計對象路徑的。所有域名都采用了兩個字符來標識,而這兩個字符并不是隨便寫的,它們被稱為Attribute Type。它與Object Class一起使用,用來標明是屬于容器對象還是葉子對象。表A列出了這種表示方法的含義。

 用ADSI實現自動化的活動目錄操作方法

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

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

綁定之后

正如我們所期望的,當我們將對象綁定到活動目錄后,就可以執行四種基本的操作了。每種操作都由一種方法實現,如表B所示。

用ADSI實現自動化的活動目錄操作方法

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

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

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

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

rootDSE

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

具體的做法是通過rootDSE中一個被稱作defaultNamingContext的屬性找到AdsPath,然后再利用AdsPath綁定到當前域。這里的“當前域”是指用戶登錄的域。假設當前域為westcoast.acme.com,這段代碼 顯示了如何不注明AdsPath即可進行綁定。

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

綁定變量到rootDSE的好處在于,不管當前的域是什么都可以使用同一腳本。為了顯示這種方法的實用價值,我們在自己的活動目錄實驗室中進行了測試,目標是在三個不同的域中各建立500個用戶,其用戶名分別為User1、User2......以此類推。你可以想象,假如采用活動目錄的GUI界面,我們需要花費多長的時間才能創建完這些用戶。而當我們在每個域中都采用這段腳本,你會發現完成這個任務是一件相當簡單的事情。

實際上,有關ADSI的內容遠不止我們在這篇文章中所涉及到的。想獲取更多有關 ADSI的知識,請訪問微軟MSDN網站上的 "Using Active Directory Service Interfaces" 。

用ADSI實現自動化的活動目錄操作方法希望能夠對讀者有所幫助。

【編輯推薦】

  1. 活動目錄用戶如何管理?
  2. 活動目錄災難管理員應該如何應對
  3. Win2000基礎教程之活動目錄的三種特性
  4. 活動目錄中創建和編輯新的策略文件等問題
  5. 主域控制器重裝系統后如何恢復活動目錄帳號?
責任編輯:韓亞珊 來源: 中國IT實驗室
相關推薦

2021-04-22 09:03:49

手機自動化測試

2022-11-15 10:20:55

物聯網傳感器

2010-03-04 14:32:24

Python自動下載文

2018-05-11 08:29:10

Python自動化測試數據驅動

2018-05-11 13:39:05

PythonCSV接口測試

2010-07-28 17:23:23

2015-10-21 15:08:25

電纜自動化

2024-06-11 10:41:14

2023-10-30 17:41:29

機器人自動化

2013-07-04 13:37:23

Java開發速度

2021-07-14 13:11:02

papermillJupyterPython

2011-07-15 10:20:34

活動目錄

2009-12-15 13:59:42

Ruby對象操作

2010-02-01 09:40:08

Python操作

2010-08-12 18:08:03

ibmdwRational

2020-07-05 23:10:20

網絡自動化網絡可預測性網絡

2010-01-11 10:34:41

VB.NET圖像操作

2010-01-07 10:28:04

VB.NET實現接口

2017-12-17 21:58:18

2023-07-12 15:41:18

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人免费视频网站高清观看视频 | 久久久综合精品 | 国内自拍第一页 | 色综合天天天天做夜夜夜夜做 | 国产高清久久 | 欧美h| 国产一卡二卡三卡 | 免费观看的av毛片的网站 | 欧美高清视频 | 日韩视频在线播放 | h片在线播放 | 欧美视频免费在线观看 | 久久久久国产一区二区三区四区 | 午夜在线影院 | 狠狠操狠狠干 | 国产欧美精品一区二区三区 | 欧美一区精品 | 久草a√| 国产日韩一区二区三免费高清 | 成年男女免费视频网站 | 国产精品久久毛片av大全日韩 | 一区二区三区精品视频 | 国产亚洲精品精品国产亚洲综合 | 久久久久国产一级毛片高清网站 | 一片毛片 | 91麻豆精品一区二区三区 | 成人国产毛片 | 狠狠操操 | 你懂的免费在线 | 日韩精品一区二区三区 | 国产精品视频免费播放 | www.中文字幕av | 黑人精品欧美一区二区蜜桃 | 成人一级视频在线观看 | 老外几下就让我高潮了 | 精品日韩| 日韩成人免费视频 | 激情91| 伊色综合久久之综合久久 | 国产十日韩十欧美 | 日韩在线中文 |