Powershell檢視AD 組成員的變化

2021-09-21 20:38:04 字數 1737 閱讀 6099

論壇上看見有人問如何用powershell檢視管理員組的變化,豆子寫了個很簡單的指令碼實現這個功能,寫的非常簡單,就是乙個思路驗證了一下而已。

首先獲取一下當前的組成員資訊吧,powershell 3.0以後可以直接使用ad module裡面的很多命令,乙個比較好使的命令是 get-adreplicationattributemetadata,可以獲取物件相關的metadata 資訊。比如下面我可以獲取testgroup1裡面每個成員建立的時間狀態。

1

2

$dn=(get-adgroup"testgroup1").distinguishedname

get-adreplicationattributemetadata$dn-server syddc01 -showalllinkedvalues |where-object| select firstoriginatingcreatetime, attributevalue |export-csvc:\temp\old.csv

可以看見,目前這個組只有2個成員

新加乙個成員進去,再次執行一下,可以看見新的成員變化

1

get-adreplicationattributemetadata$dn-server syddc01 -showalllinkedvalues |where-object| select firstoriginatingcreatetime, attributevalue |export-csvc:\temp\new.csv

把兩次結果都儲存下來,然後利用compare-object比較一下,如果不為空,傳送個郵件

1

2

3

4

5

6

7

8

$a=get-contentc:\temp\old.csv

$b=get-contentc:\temp\new.csv

$result=compare-object$a$b

if($result)

測試郵件如下所示,成功

Powershell批量建立AD賬戶

它是乙個單獨的命令列,即匯入乙個 csv 檔案並使用其中的資訊建立數十甚至數百個新的 active directory 使用者 import csv c provision1.csv foreach object 它確實是個很長的命令,但功能卻強大得令人驚訝。首先是 import csv 本機外殼 ...

利用Powershell查詢AD中電腦

以前如果要調查ad電腦中資訊可能需要借助工具來進行,或是用sms sccm這樣的系統 現在powershell引入ad後,如果靈活的利用powershell,可以達到很多你想要的功能.下面就是定製適合自已要求的查詢了,如果要知道所有電腦名 作業系統 servicepack版本 作業系統具體版本本並匯...

Windows中檢視PowerShell版本

我並不是很熟悉什麼是powershell,但是有種直覺是 如果想在windows中使用系統自帶的功能取代bash shell,powershell或許是比dos批處理更好的選擇。不過,從頭開始再來一門程式語言或許還是個不小的挑戰。功能相對齊全且通用的powershell版本現在是v3版本,我試看了別...