Exemple de gestion d'erreurs throw trap powershell
1 réponse
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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilles LAURENT [MVP]
"dav8669" a écrit dans le message de 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="CNministrateurs" 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
"dav8669" <dav8669@domain-xyz.in> a écrit dans le message de
news:RO6dnWIsLeHiJ_HURVn_vwA@giganews.com
| 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="CNministrateurs"
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
"dav8669" a écrit dans le message de 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="CNministrateurs" 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