powershell si tratarea exceptiilor

Powershell cistiga din ce in ce mai multa tractiune. Se foloseste in Exchange, SqlServer , VS2010 ( cu NuGet cu tot…). Vine default cu Windows 7 .

Asa ca am inceput si eu, usor usor, sa il folosesc.

Vreau sa scriu aici despre tratarea exceptiilor in scripturi . Dupa ce am scris codul si merge, pun un try/catch de forma:

TRY {

#cod:

}

catch [exception]
{

$eroare="eroare trimis email:" +$_.Exception.Message #am obtinut eroare
write-Host $eroare
$body = $eroare
$body += " Tip Eroare: " + $_.Exception.GetType().FullName
#obtine informatii despre computerul pe care s-a executat scriptul si despre numele scriptului
$Computer = get-content env:computername
$fullnamePC = $Computer + " " + $MyInvocation.MyCommand.Path
$body += " Anunt dat de :" + $fullnamePC

write-Host $body
#trimite email sau scrie in fisier
send-mailmessage -to "...." -from "..." -subject $eroare -body $body -bcc "............" -smtpserver "............";
}

Acum ca e clar, sa vedem ce puteti face cu el:

1. Are pluginuri(cmdlets ) de sql server si exchange. Default vine cu acces la registry, file system, event viewer si altele.

2.poate rula comenzi pe alte PC-uri

http://msdn.microsoft.com/en-us/library/ee706585%28VS.85%29.aspx

3. Are thread-uri:

start-job:

http://technet.microsoft.com/en-us/library/dd347692.aspx

http://sqlblog.com/blogs/aaron_bertrand/archive/2011/01/29/powershell-start-job-scriptblock-sad-panda-face.aspx

PS : Nu uitati de signing – asta cu securitatea te omoara la inceput – dar ai tendinta sa o uiti:

Calea corecta : http://www.hanselman.com/blog/SigningPowerShellScripts.aspx

Calea usoara : Set-ExecutionPolicy Unrestricted

Calea medie : http://technet.microsoft.com/en-us/library/ee176949.aspx

Pentru cei care nu stiu, iata si o carte free: http://rkeithhill.wordpress.com/2009/03/08/effective-windows-powershell-the-free-ebook/

Leave a Reply

Your email address will not be published. Required fields are marked *