Question Condition d’exécution de script

Plus d'informations
il y a 7 ans 6 mois #27542 par clemence
Bonjour à tous,

Débutante en Powershell, je rencontre actuellement une difficulté lors de la création d'une condition \"If\". Peut-être saurez vous m'aider :)

J'expose mon problème :
J'ai un script qui extrait mes utilisateurs AD et les enregistre dans un CSV, puis les envoi par mail. Tout ça fonctionne correctement.
En revanche, il s'avère que certaines données sont parfois manquantes (comme l'adresse mail) et lors de l'exécution du script, ce dernier ne renvoi aucune erreur, il s'exécute, mais l'utilisateur pour qui une information est manquante n’apparaît pas dans l'extract en CSV.

Voici le formatage de la liste pour l'export et à partir du \"If\" ce que j'ai essayé de faire:

#On formate la liste
$AllADUsers |
Select-Object @{Label = \"Firstname\";Expression = {$_.GivenName}},
@{Label = \"Lastname\";Expression = {$_.sn}},
@{Label = \"DN\";Expression = {$_.distinguishedName}},
#@{Label = \"Username\";Expression = {$_.sAMAccountName}},
@{Label = \"Job Title\";Expression = {$_.Title}},
@{Label = \"Mail\";Expression = {$_.mail}} |

if (!$_.GivenName -or !$_.sn -or !$_.distinguishedName -or !$_.Title -or !$_.mail)
{
Write-Error -Message \"Une donnée est manquante, veuillez renseigner la valeur.\" -ErrorAction Stop
} |

Une idée ?

Merci à tous pour votre temps et votre aide :) !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 7 ans 6 mois #27550 par Philippe
salut clem44

soit tu nous pas donner tous ton script
soit il fonctionne pas dans toutes les situations (mail ou pas mail)

voici une version corriger de ton script
reviens nous voir si il y a des chose que tu ne comprend pas ;)
[code:1]$AllADUsers = get-aduser usertest1 -Properties mail, sn, Title

#On formate la liste
$AllADUsers |
Select-Object @{Label = \"Firstname\";Expression = {$_.GivenName}},
@{Label = \"Lastname\";Expression = {$_.sn}},
@{Label = \"DN\";Expression = {$_.distinguishedName}},
#@{Label = \"Username\";Expression = {$_.sAMAccountName}},
@{Label = \"Job Title\";Expression = {$_.Title}},
@{Label = \"Mail\";Expression = {$_.mail}} | foreach {

if (!$_.Firstname -or !$_.Lastname -or !$_.DN -or !$_.\"Job Title\" -or !$_.mail) {
Write-Error -Message \"Une donnée est manquante, veuillez renseigner la valeur.\" -ErrorAction Stop
}
$_
} | export-csv c:\temp\aa.csv
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.032 secondes
Propulsé par Kunena