function GetUsersFromGroup { [CmdletBinding()] param( [Parameter(Mandatory=$true)] [string]$GroupCN ) try { # Récupère les membres du groupe $members = Get-ADGroupMember -Identity $GroupCN -Recursive | Where-Object { $_.objectClass -eq "user" } # Retourne le SamAccountName et l'email de chaque utilisateur $result = [PSCustomObject]@{ Success = $true Value = $members | Select-Object -ExpandProperty SamAccountName } return $result } catch { $result = [PSCustomObject]@{ Success = $false Value = "Erreur lors de la récupération des utilisateurs du groupe '$GroupCN' : $_" } return $result } } function GetMailFromSAMAccountName { [CmdletBinding()] param( [Parameter(Mandatory=$true)] [string]$SAMAccountName ) try { # Récupère l'utilisateur et l'attribut mail $user = Get-ADUser -Identity $SAMAccountName -Properties mail -ErrorAction Stop # Vérifie si le mail existe $mail = if ($user.mail) { $user.mail } else { "" } # Retourne le SamAccountName et l'email de chaque utilisateur $result = [PSCustomObject]@{ Success = $true Value = $mail } return $result } catch { $result = [PSCustomObject]@{ Success = $false Value = "Erreur lors de la récupération deu mail de l'utilisateur '$SAMAccountName' : $_" } return $result } }