天天看點

批量建立AD帳号如何去除空格

在前面文章中介紹過一篇文章,主要講的是"關于Exchange Server 2010 啟用郵箱時MMC控制台崩潰問題處理"方法,其中排錯思路中也提到過是由于批量建立帳号過程中部分字段帶空格導緻的,其實這個是不能夠完全避免的,由于畢竟是人工操作出現錯誤再所難免,完全解決導入資料不帶空格其實是有辦法的。

方法一:通過Excel的替換将空格去掉。

方法二:利用Excel中的SUBSTITUTE函數法去掉。

方法三:利用Excel中的CLEAN函數去掉。

當然上述都是需要運維人員對Excel中函數或替換比較了解的情況下可以很容易規避,有沒有辦法能夠讓不懂Excel的人也可以正常運作腳本而不會因為空格而出現建立帳号異常?那麼我就要介紹“方法四”通過在PowerShell腳本中增加相關的字段來在運作時就去掉空格。

腳本如下:

import-Module activedirectory

$csvpath = "d:\New-User\Employee.csv"

(Get-Content -Path $csvpath) -replace "\s{1,}" | Set-Content -Path $csvpath -Encoding UTF8

$pwd = convertto-Securestring "[email protected]" -AsPlainText -Force

Import-Csv 'd:\New-User\Employee.csv'| foreach {New-ADUser -path $_.path -SamAccountName $_.SamAccountName -Name $_.Name -DisplayName $_.DisplayName -GivenName $_.GivenName -Surname $_.Surname -AccountPassword $pwd  -Manager $_.Manager -UserPrincipalName $_.UserPrincipalName -Enabled $true -ChangePasswordAtLogon $true -PassThru}

Import-Csv  'd:\1\userinfo.csv'| foreach {Add-ADGroupMember -Identity $_.group1 -Members $_.SamAccountName}

注意,在上述腳本中增加了“-replace "\s{1,}"來確定導入的CSV檔案空格被去掉”,而如果沒有進行腳本修改的情況下,腳本内容如下:

(Get-Content -Path $csvpath) | Set-Content -Path $csvpath -Encoding UTF8

繼續閱讀