55 lines
1.5 KiB
PowerShell
55 lines
1.5 KiB
PowerShell
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
|
|
}
|
|
}
|