VBScripit 匯出AD使用者資訊

2021-07-10 12:55:47 字數 2662 閱讀 7143

新建文字,把以下**拷貝進去並修改ldap**,儲存為.vbs檔案。

然後雙擊執行之後就可以在當前資料夾獲得user.csv的檔案。

const ads_scope_subtree = 2

set objconnection = createobject("adodb.connection")

set objcommand = createobject("adodb.command")

objconnection.provider = "adsdsoobject"

objconnection.open "active directory provider"

set objcommand.activeconnection = objconnection

'ldap指定物件的**

'objectclass/objectcategory指定型別

'select 指定屬性名稱,用*只會返回adspath

objcommand.commandtext = _

"select samaccountname, displayname, mail, streetaddress, l, st, postalcode, c, telephonenumber, mobile, facsimiletelephonenumber, title, department, company, manager from 'ldap://cnsrvadc01/dc=corp,dc=intra' " _

& "where objectclass='user' and objectcategory='person' " _

& "order by samaccountname "

objcommand.properties("page size") = 2000

objcommand.properties("searchscope") = ads_scope_subtree

set objrecordset = objcommand.execute

objrecordset.movefirst

'輸出檔案

set objfs = createobject("scripting.filesystemobject")

set objnewfile = objfs.createtextfile("user.csv")

objnewfile.writeline "samaccountname, displayname, mail, streetaddress, city, state, postalcode, country, telephonenumber, mobile, facsimiletelephonenumber, title, department, company, manager"

do until objrecordset.eof

'輸出內容

objnewfile.writeline """" & _

objrecordset.fields("samaccountname").value & """,""" & _

objrecordset.fields("displayname").value & """,""" & _

objrecordset.fields("mail").value & """,""" & _

objrecordset.fields("streetaddress").value & """,""" & _

objrecordset.fields("l").value & """,""" & _

objrecordset.fields("st").value & """,""" & _

objrecordset.fields("postalcode").value & """,""" & _

objrecordset.fields("c").value & """,""" & _

objrecordset.fields("telephonenumber").value & """,""" & _

objrecordset.fields("mobile").value & """,""" & _

objrecordset.fields("facsimiletelephonenumber").value & """,""" & _

objrecordset.fields("title").value & """,""" & _

objrecordset.fields("department").value & """,""" & _

objrecordset.fields("company").value & """,""" & _

objrecordset.fields("manager").value & """ "

objrecordset.movenext

loop

wscript.echo "finished "

查詢語句跟t-sql非常類似,但是又有區別。

如果要查詢不存在於任何group的person,在where條件後新增and not memberof='*'

如果要查詢未過期的使用者,where條件後新增and (accountexpires=0 or accountexpires=9223372036854775807)

不能夠使用select * ,否則只會返回adspath一列

AD域匯入匯出使用者

作為域管理員,有時我們需要批量地向ad域中新增使用者帳戶,這些使用者帳戶既有一些相同的屬性,又有一些不同屬性。如果在圖形介面逐個新增 設定,那麼需要的時間和人力會超出能夠承受範圍。一般來說,如果不超過10個,我們可利用ad使用者帳戶複製來實現。如果再多的話,就應該考慮使用使用命令列工具,實現批量匯入...

Powershell 匯出特定AD使用者的屬性

import module activedirectory 載入ad模組 get aduser filter searchbase 在 組織單元內獲取搜尋使用者過濾 select object property x 選擇物件 x項屬性 export csv encoding unicode xx.c...

批量匯入 匯出域(活動目錄 AD)使用者帳戶

批量匯入 匯出域 活動目錄 ad 使用者帳戶 exchange 相關 批量匯入 匯出域 活動目錄 ad 使用者帳戶 在活動目錄的管理中會遇到對使用者進行批量操作的問題,例如,在公升級作業系統時或在剛剛使用活動目錄時,管理人員需要批量的新增或刪除使用者帳戶。批量匯入 匯出域使用者可以使用windows...