Bonjour,

J'essaie de faire fonctionner un script qui permets de construire sur la base du "prénom" + "nom" +@domain.com en se basant sur un csv


ci dessous le code (cela foire à plusieurs endroits, mais j'essai déja de résoudre le début)

le csv ne contient qu'une seule colonne avec l'en tête "EmailAddress"


Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Changez le SMTP pour correspondre Ã* votre domaine
$newdomainAdd = "@domaine.com"
 
 
#Requete et stockage des Proxyaddresses des comptes du CSV
$csv = Import-Csv "C:\Users\users.csv" -Delimiter "," 
$csv | ForEach-Object {
    #Pour chaque user du CSV, requete de l'ensemble des attributs stockage dans la variable $user
        $emailaddress = $_.EmailAddress
      $User= Get-ADUser -Filter {mail -like $emailaddress} -properties mail
    $User
 
    }
    $sam= $User.samaccountname
      write-output " > Traitement de $sam"

et la deuxième partie à revoir

Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    #création des nouveaux attributs
    $Mail= $User.GivenName + "." + $User.SurName + "$newdomainAdd"
    $NewSmtp= "SMTP:" + $mail}
    #Parcours chaque proxy du user parser
    $user.proxyaddresses | foreach {
            #Si la proxy est la principale rentre dans la condition
            if($_.EmailAddress -clike "SMTP:*"){
                    #recupere la principale
                    $old=$_
                    #Modifier le SMTP en smtp
                    $Replaced=$old.replace("SMTP:","smtp:")
                    write-output "$old  => Suppression ancienne SMTP" 
                    #Suppression de la ligne SMTP:
                    set-ADUser -Identity $Sam -Remove @{ProxyAddresses=$old} 
                    write-output "$New  => Ajout nouvelle smtp"
                    #Ajout de la ligne smtp:
                    set-ADUser -Identity $Sam -Add @{ProxyAddresses=$Replaced} 
                }
    }
    write-output "$New  => Ajout nouvelle SMTP"
    set-ADUser -Identity $sam -Add @{ProxyAddresses=$newsmtp} 
    Write-Output "$mail  => Ajout nouvelle @mail"
    set-ADUser -Identity $sam -emailaddress $mail 
    $sam,$mail,$NewSmtp,$Old,$replaced=$null

Merci pour votre aide.
En fait le début fonctionne, mais il ne m'affiche que le dernier utilisateur. Uniquement la dernière ligne lorsque je tape sur Pshell $sam