Exemple de gestion d'erreurs throw trap powershell

Le
dav8669
Bonjour,
Je cherche un exemple de gestion d'erreurs en powershell avec l'execution d'un traiment normal par exemple
$recup.put('employeeID',"$EmpID")
$recup.SetInfo()
et affichage d'un message d'erreur en cas d'anomalie(pas du type write-host) mais plutôt avec l'utilisation du mécanisme throw trap merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles LAURENT [MVP]
Le #18379301
"dav8669" news:
| Bonjour,

Bonsoir,

| Je cherche un exemple de gestion d'erreurs en powershell avec
| l'execution d'un traiment normal par exemple
| $recup.put('employeeID',"$EmpID")
| $recup.SetInfo()
| et affichage d'un message d'erreur en cas d'anomalie(pas du type
| write-host) mais plutôt avec l'utilisation du mécanisme throw trap

Par exemple, l'exemple ci-dessous génèrera une exception car la
modification de l'attribut système memberof n'est pas autorisée.
L'erreur sera interceptée par le bloc Trap lors de l'appel à la méthode
setinfo(). Le sujet étant relativement complexe, je vous invite à
chercher des informations complémentaires comme quelques exemples
disponibles ici :
http://huddledmasses.org/trap-exception-in-powershell/


Function Test {

Trap [Exception] {
Write-Host -fore green "`n---- Trap ----"
Write-Host -fore green $_.Exception.Message
Write-Host -fore green $_.Exception.GetType().FullName
Write-Host -fore green "--------------`n"
continue
}

$samaccount="user"
$searcher=[adsisearcher]"(samaccountname=$samaccount)"
$userResult=$searcher.findone()
$user=$userResult.getdirectoryentry()
Write-Host "Trying to update system attribut ..."
$user.memberof="CN­ministrateurs"
Write-Host "Cache updated successfully"
Write-Host "Updating Active Directory ..."
$user.setinfo() # DirectoryServices.DirectoryServicesCOMException
Write-Host "Operation completed."
}

Test # appel de la fonction

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Publicité
Poster une réponse
Anonyme