Bonjour,
Je n'arrive pas à faire tourner un script dans une console Exchange 2010. L'objet du script est de modifier le champs displayname de bal à partir d'un .csv contenant les adresses mail (emailAddress)
Toute aide est bienvenu. Merci
Code : 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <# Script a utiliser dans un shell Exchange Le script modifie le champs displayname du compte Exchange d un utilisateur en ajoutant une information a la suite du displayname Les comptes a modifier sont presentes dans un .csv (par defaut adresse_mail) sous la forme d une adresse mail Si le compte n est pas trouve une erreur est levee sinon le compte Exchange est modifie Les resultats sont enregistres dans trois fichiers de log. Si le compte a ete modifie : UccessUsers.log Si le compte n a pas ete trouve : UsersNotExist.log Si le compte a ete trouve mais n a pas ete modifie : FailedUsers.log #> # definition des variables $Users = Import-Csv C:\adresse_mail.csv $failedUsers = @() $usersNotExist =@() $successUsers = @() $VerbosePreference = "Continue" $LogFolder = "C:\Scripts" ForEach ($User in $Users) { $value = (Get-User -Filter "WindowsEmailAddress -eq '$User.emailAddress'").WindowsEmailAddress.IsValidAddress try { if ($value -eq $True){ $dn = (Get-User -Filter {WindowsEmailAddress -eq $User.emailAddress}).displayname $dn = $dn + " (MODIFICATION)" Set-User $User.emailAddress -Displayname $dn Write-Verbose "[PASS] Compte $dn modifie" $successUsers += $dn } else { Write-Warning "[WARNING] le compte $dn est inconnu" $usersNotExist += $dn } } catch { Write-Warning "[ERROR] impossible de modifier [$dn]" $failedUsers += $dn } } if ( !(test-path $LogFolder)) { Write-Verbose "Creation du repertoire [$($LogFolder)] " new-item $LogFolder -Force } Write-verbose "Ecriture logs" $failedUsers | out-file -FilePath $LogFolder\FailedUsers.log -Force -Verbose $usersNotExist | out-file -FilePath $LogFolder\UsersNotExist.log -Force -Verbose $successUsers | out-file -FilePath $LogFolder\SuccessUsers.log -Force -Verbose
Partager