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 de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *