Flash info

"La connaissance ce n’est point la possession de la vérité, mais d’un langage cohérent."

Antoine de Saint Exupéry (1900-1944)

 
Accueil arrow Forum

Bienvenue sur le forum PowerShell-Scripting.com

 
clem44
Utilisateur

PowerShelleur Débutant
Messages: 1
graphgraph
Karma: 0  
Condition d’exécution de script - 14/09/18 09:47 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 !
  | | L'administrateur a désactivé l'accés public en écriture.
6ratgus
Utilisateur

PowerShelleur Platinum
Messages: 1503
graphgraph
Karma: 111  
Re:Condition d’exécution de script - 17/09/18 14:08 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:

 $AllADUsers get-aduser usertest1 -Properties mailsnTitle #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  

  | | L'administrateur a désactivé l'accés public en écriture.
© 2018 PowerShell-Scripting.com