Question
Condition d’exécution de script
- clemence
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 7 ans 6 mois #27542
par clemence
Condition d’exécution de script a été créé 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
!
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.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 7 ans 6 mois #27550
par Philippe
Réponse de Philippe sur le sujet Re:Condition d’exécution de script
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]
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.033 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Condition d’exécution de script