Powershell – Import numéro de téléphone dans AD

Ce script permet d’importer les numéros de téléphone des utilisateurs dans AD.

L’attribut “OfficePhone” de l’utilisateur AD est utilisé.

Le fichier CSV est au format :

Tel,Account
0412345678,User001
0412345678,User002
0412345678,User003
0412345678,User004

 

Note : le fichier $LogFile permet l’historisation des modifications et le retour arrière.

Import-Module ActiveDirectory

$fileImport= ‘C:\TEMP\tel.csv’
$LogFile= “c:\temp\LOG_PhoneNumHistory_$(get-date -Format “yyyyMMddHHmmss”).csv”
$Res=@()

$lst=Import-Csv -Path $fileImport -Delimiter “;”

foreach($enr in $lst){

Write-Host $enr.Account ‘ –> ‘ $enr.tel
$userAD=””
$userAD=Get-ADUser -Identity $enr.Account -Properties OfficePhone


if($userAD -eq “”){
$DataCollect = New-Object System.object
$DataCollect | Add-Member -name ‘FILESAMAccountName’ -MemberType NoteProperty -Value $enr.Account
$DataCollect | Add-Member -name ‘ADSAMAccountName’ -MemberType NoteProperty -Value “Not in directory”
$DataCollect | Add-Member -name ‘OfficePhoneOLD’ -MemberType NoteProperty -Value “”
$DataCollect | Add-Member -name ‘OfficePhoneNEW’ -MemberType NoteProperty -Value “”


}else{
$userOfficeNEW=$(“{0:+33 # ## ## ## ##}” -f [int]$enr.tel)

$DataCollect = New-Object System.object
$DataCollect | Add-Member -name ‘FILESAMAccountName’ -MemberType NoteProperty -Value $enr.Account
$DataCollect | Add-Member -name ‘ADSAMAccountName’ -MemberType NoteProperty -Value $userAD.SamAccountName
$DataCollect | Add-Member -name ‘OfficePhoneOLD’ -MemberType NoteProperty -Value $userAD.OfficePhone
$DataCollect | Add-Member -name ‘OfficePhoneNEW’ -MemberType NoteProperty -Value $userOfficeNEW


$userAD | Set-ADUser -OfficePhone $userOfficeNEW
}

$Res+=$DataCollect
}


$Res | Export-Csv $LogFile -Encoding UTF8 -Delimiter “;”

Il est possible d’ajuster le formatage du numéro de téléphone :

[int]$a = 0412345678
“{0:+33 (0) # ## ## ## ##}” -f $a
“{0:0# ## ## ## ##}” -f $a

Pour supprimer le numéro de téléphone :

Get-ADUser -Identity $enr.Account -Properties OfficePhone | Set-ADUser -OfficePhone $null

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.