2018年11月18日 星期日

將AD (Active Directory) 使用者及群組資料匯出的方法: 4.dsquery

Dsquery, 適用於 Windows Server 2003, Windows Server 2008, Windows Server 2003 R2, Windows Server 2008 R2, Windows Server 2012, Windows Server 2003 SP1, Windows 8

如同 dsget 一樣, dsquery 後面接上 OU 來使用, 例如: dsquery computer, dsquery user 等, 常用 dsquery * 查詢所有資料

雖然 dsquery 匯出的資料格式與 csvde 類似, 不過 dsquery 是用空格來做欄位分隔, 而不像 csvde 使用逗號來做欄位分隔, 利用上比較不方便

1. 使用 dsquery /? 呼叫說明

2. dsquery 指令加上方向(大於)符號可將資料輸出成檔案:
dsquery * OU=ou_name,DC=domain,DC=com > export.csv (或txt)
w-studio.idv.tw


3. 未設定欄位參數, 所以只有輸出 DN 值

4. dsquery 指令加上 -attr 欄位參數, 可以查詢特定欄位(欄位間不能用分號或逗號):
dsquery * OU=ou_name,DC=domain,DC=com -attr givenName sn cn userPrincipalName department distinguishedName > export.csv

5. 匯出的資料, 使用空格來做欄位分隔(因為OU中含有群組, 所以輸出的結果會有群組資料)

6. 若只想要輸出使用者帳號資料, 則加上過濾參數 -filter 使用:
dsquery * OU=ou_name,DC=domain,DC=com -filter "(&(objectCategory=person)(objectClass=user))" -attr givenName sn cn userPrincipalName department distinguishedName > export.csv
w-studio.idv.tw
7. 只輸出使用者資料結果

8. 如果欄位參數 -attr 不加任何欄位而是使用萬用符號 * 會如何:
dsquery * OU=ou_name,DC=domain,DC=com -attr * > export.csv
w-studio.idv.tw
9. 輸出的結果如同 ldifde 一樣呈現條列式而不是一列式

參考資料: Windows Docs: Dsquery

沒有留言:

張貼留言