最近在工作上用到一些AD同步自動化的問題,

因為在處理的過程中,發現網路資料並不多,

所以分享此篇文章,希望能幫助更多有需要的人。

利用C#呼叫PowerShell來做AD的操作相當方便

感謝Will保哥的分享 : http://blog.miniasp.com/post/2014/05/09/Call-Windows-PowerShell-Cmdlets-from-CSharp-program.aspx

至於PowerShell指令的部份,以下這本書有詳細的介紹 : http://www.books.com.tw/products/0010697249

以下分享一些常用的指令 :

--新增user,並在第一次登入時修改密碼--

指令一:
$password="XXXXXX" | ConvertTo-SecureString -AsPlainText -Force 

指令二:
New-ADuser -Name 名稱 -GivenName 名子 -Surname "姓氏" -EmailAddress "USER的電子信箱" -SamAccountName:"帳號(唯一值)" -DisplayName "顯式名稱" -Department "部門" -Title "工程師" -userPrincipalName:"XXXXXX@OOO.OOO.OO" -Path "OU=XXX,OU=XXXXXXXXX,DC=XXX,DC=com,DC=tw" -AccountPassword $password -ChangePasswordAtLogon $True -Enabled $True

*註:

userPrincipalName => UPN

相關介紹 :https://read01.com/Q30eO2.html

 

--停用AD帳號--
Disable-ADAccount -Identity XXXXX -PassThru

 

--啟用AD帳號--
Enable-ADAccount -Identity XXXXX -PassThru

 

--新增安全性群組(Groups)--
New-ADGroup -Name "Test_Group" -Path "OU=XXXX_Groups,DC=XXXXX,DC=com,DC=tw" -groupScope domainlocal

 

--加入成員至群組--
Add-ADGroupMember -Identity "Test_Group" -Members XXXXXX

 

-從群組移除人員--
Remove-ADGroupMember -Identity Test_Group -Members XXXXX -Confirm:$false

 

以下這兩個指令為修改"電話頁簽"中的"附註",這個部份的修改需要用到-Replace指令 (找了好久><)

 

--修改電話頁簽中的附註"info"的資料-- 
Set-ADUser -Identity XXXXXX -Replace @{info="$($_.info) 附註內容寫在這"}

 

--取得電話頁簽中的附註"info"的資料--
Get-ADUser -Identity XXXXXX -Properties * | select info

 

---------------------------------------------------------------------

AD屬性中文對照表:

http://www.programgo.com/article/56324902193/

創作者介紹
創作者 Kenny Lin 的頭像
Kenny Lin

Kenny的程式筆記

Kenny Lin 發表在 痞客邦 留言(0) 人氣()