嚴格來說我們需要利用PS編寫工具來編寫整個腳本,我們沒有安裝其他的程序進行編寫,我們就直接寫PowerISE 來實現。
我們點開Powershell ISE,界面也是標準的編輯的界面:
我們直接在這個界面進行編輯,我們先弄清楚一下邏輯:
1. 將我們需要建立賬戶做成一個文件,並導入
2. 將新建用戶變成一個過程,在這個過程中將數據做一個收集
3. 將最終的結果變成一個HTML郵件,然後嵌入郵件當中發出去。
接下去就進行編碼的步驟:
#將用戶從CSV文件中倒入我們的用戶
$body="<html><head><title>這是一封用戶倒入郵件</title><body><table><tr><td>用戶名</td><td>創建時間</td> <td>創建狀態</td></tr>";
#將我們的HTML的郵件的前面部分
foreach($user in $userlist)
#輪詢用戶的list
{
{
new-aduser -Name $user.name -UserPrincipalName $user.upn -SamAccountName $user.name -DisplayName $user.displayname -AccountPassword (ConvertTo-SecureString Admin123456 -AsPlainText -Force) -ErrorAction SilentlyContinue -enabled:$true;
$status="創建成功";
}
catch
{
$status="創建失敗失敗原因是:"+$_;
}
$userstatus="<tr><td>"+$user.name+"</td><td>"+(get-date -format "mm:ss")+"</td> <td><font color=red>"+$status+ "</font></td> </tr>";
$body=$body+$userstatus;
$body=$body+"</table></body></html>"
Send-MailMessage -SmtpServer 127.0.0.1 -From [email protected] -To [email protected] -Subject:"User create report" -Body $body -BodyAsHtml
我們建立如下的csv文件:
然後我們執行下命令,看下郵件,發現郵件亂碼:
接下來我們需要給我們的Powershelll 進行添加相應的編碼規則,這裏是我們的Unicode:
修改爲Unicode 之後,我們郵件收到就正常了:
奇怪,沒有邊框,我們需要爲所有的新消息添加邊框,就是添加一下這個參數:
我們再執行下,結果就正常了。
我們刪除下建立的對象,然後再重新執行下腳本,發現所有賬戶建立成功,用戶創建狀態葉可以收到郵件了。
我們再看看郵件:
到此全部執行完畢,這個課程會錄製爲視頻分享給大家,希望大家能夠有所收穫,謝謝大家。