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