<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>ITpro Technett</title>
	<atom:link href="http://technett.itpro.no/feed/" rel="self" type="application/rss+xml" />
	<link>http://technett.itpro.no</link>
	<description></description>
	<lastBuildDate>Sun, 12 Feb 2012 13:31:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Hva er Microsoft MVP Award</title>
		<link>http://technett.itpro.no/2012/02/12/hva-er-microsoft-mvp-award/</link>
		<comments>http://technett.itpro.no/2012/02/12/hva-er-microsoft-mvp-award/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 13:31:35 +0000</pubDate>
		<dc:creator>ITpro-redaksjonen</dc:creator>
				<category><![CDATA[Administrasjon]]></category>
		<guid isPermaLink="false">http://technett.itpro.no/?p=14</guid>
		<description><![CDATA[<br/>Jeg har fått flere spørsmål angående MVP den siste tiden og de fleste av dem er ganske like. Vi får stadig de samme spørsmålene; Hva er MVP? hvordan blir man MVP? Hvilke teknologiområder kan man bli MVP innen? Faktum er at det ikke er et fasitsvar på hvordan man blir MVP. Nøkkelord er deling av [...]]]></description>
			<content:encoded><![CDATA[<br/><p>Jeg har fått flere spørsmål angående MVP den siste tiden og de fleste av dem er ganske like. Vi får stadig<br />
de samme spørsmålene; Hva er MVP? hvordan blir man MVP? Hvilke teknologiområder<br />
kan man bli MVP innen?</p>
<p>Faktum er at det ikke er et fasitsvar på hvordan man blir MVP. Nøkkelord er deling av kunnskap.</p>
<p><em>“The MVP Award recognizes exceptional technical community leaders from around the world who voluntarily share their deep, real-world knowledge about Microsoft technologies with others.</em></p>
<p><em>Potential MVPs are nominated by other technical community members, current and former MVPs, and Microsoft personnel who have noted their leadership and their willingness and ability to help others make the most of their Microsoft technology.</em></p>
<p><em>To receive the Microsoft MVP Award, MVP nominees undergo a rigorous review process. A panel that includes members of the MVP team and Microsoft product groups evaluates each nominee&#8217;s technical expertise and voluntary community contributions for the past 12 months. The panel considers the quality, quantity, and level of impact of the MVP nominee&#8217;s contributions. Active MVPs receive the same level of scrutiny as other new candidates each year. MVPs are independent of Microsoft, with separate opinions and perspectives, and are able to represent the views of the community members with whom they engage every day. If you like, you can nominate an outstanding community leader, or an exceptional contributor to the technical community, for consideration as an MVP.<br />
</em></p>
<p><strong>Tips for å bli MVP:</strong><br />
NB!: Selv om du følger disse tipsene er det ingen garanti for å bli tildelt MVP tittel.<br />
Det er verdt og merke seg at man trenger ikke gjøre alt nedenfor, men det kan<br />
være eksempler på ting man kan gjøre:<br />
<strong>1) Give quality assistance</strong>, advice, processes, scripts, and consultation. Test your own advice and ask first (don&#8217;t make assumptions that you&#8217;re answering questions when too little data is given). Experts in your area will be evaluating samples of your community work. You don&#8217;t want them to be evaluating the one communication issue you had or the one mistake you accidentally made (and thus thinking that you make mistakes or miscommunication a regular practice).<br />
<strong>2) Give high-quantity contributions</strong>. Be active in your technology&#8217;s forums and on blogs. The TechNet and MSDN forums are being monitored by current MVPs and Microsoft personnel.<br />
<strong>3) Become a Moderator</strong> on your technology&#8217;s forums (post quality and quantity answers and then approach and ask moderators and owners to be considered or nominated). Or email me (edprice at Microsoft). Then make a case (given your Forum experience and abilities) to become a moderator.<br />
<strong>4) Share your knowledge</strong> in online community tools like blogs, Wiki articles, white papers, and Galleries (you can upload your white papers on TechNet Gallery). You must create your own unique content and help build the community around your content.<br />
<strong>5) Speak </strong>at conferences, local groups, meetings, and user groups. Speak online in virtual events. Go show your expertise and teach large groups. These conferences and events are different for every product. Go find them. Here&#8217;s a testimony of one MVP who speaks at conferences.<br />
<strong>6) Write </strong>articles, guest blogs, or books. In addition to writing for your own Blog, Wiki, and Forums, become a guest blogger on other famous blogs. Research the online and print magazines for your technology and then submit articles to try to get published. Ask to complete technical reviews of books that are currently being written. Eventually submit pitches to book publishers as well and establish yourself as an accomplished author in your technology areas.<br />
<strong>7) Become the leader</strong>. Instead of just plugging into conferences, events, local groups, and user groups, build them, organize them, and lead them. Bring the community off-line. Here&#8217;s the testimony of an MVP who started an off-line user group, which led to other great opportunities.<br />
<strong> <img src='http://technett.itpro.no/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> Be consistent</strong>. This is a &#8220;marathon award&#8221;, and not a sprint award. Because an MVP award is evaluated based on the previous 12 months of contributions, you have to be active and consistent for over a year. If you&#8217;re three months in, then you have 9 more months to go before you can even be considered (you&#8217;re being evaluated with folks who have a full year of leadership contributions).<br />
<em> </em></p>
<p><strong>Hva sier nå MVPene selv?</strong></p>
<p><em>Det finnes ingen fasitsvar på hva som kreves for å bli MVP. Mange har  kanskje inntrykk </em><em>av at man må blogge og være aktiv i forum for å bli en MVP. Det er klart at dette er ting som slår positivt ut, men det er mange andre arenaer man kan bidra på som ikke nødvendigvis er online. Dette kan være aktiviteter i brukergrupper, foredrag eller å skrive en bok. Mer informasjon om nominasjonsprosessen og hva som kreves er beskrevet i denne artikkelen på TechNet Wiki. Man får muligheten  til å kommunisere </em><em>med produktgruppen for det produktet man brenner for, og det å få treffe og samhandle med andre MVP`er både innenfor sitt område og i Norge er uvurderlig. Den årlige MVP Summit`en i Redmond er verdt å nevne som et stort høydepunkt. I tillegg er det gøy at det man legger ned av tid og arbeid i det man driver med blir verdsatt.</em><br />
<strong>- Jan Egil Ring (Crayon) – MVP PowerShell</strong></p>
<p><em>Tittelen gir adgang til en en familie av geeks som brenner like mye for teknologien som jeg selv gjør. Alle har et genuint ønske om å dele kunnskap og hjelper hverandre og andre geeks i nød, med teknologi som eneste motivasjon. Kontakten med andre MVP’er og Microsoft utviklere og produkt team er uvurderlig, og på et nivå som selv ikke de fleste ansatt i Microsoft kan håpe på å oppnå.</em><br />
<strong>- Olav Tvedt (EDB Ergogroup), MVP Setup &amp; Deployment</strong></p>
<p><em>Det som kreves er en genuin interesse for å dele kunnskap skriftlig gjennom forum, blogg og publikasjoner.Genuin interesse for å prate om og dele det du kan om teknologi. Fordelene med en MVP award er anerkjennelse for det du har gjort blant peers og av arbeidsgiver. Det gir deg et kvalitetsstempel, spør du en mvp så får du ofte et svar basert på best practice <img src='http://technett.itpro.no/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Du får også tilgang på et fantastisk teknisk community basert på andre mvper og ms produktgruppe. Man får perks i form av technet abo, være med på beta og mulighet til å gi feedback direkte tilbake til produktgruppa. Mvp summit er bonusen <img src='http://technett.itpro.no/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Av alt så setter jeg mest pris på å kunne henge med de andre mvpene i norge.</em><br />
<strong> - Ståle Hansen (ATEA), MVP Unified Communications </strong></p>
<p><em>Den største fordelen er at vi kan bidra på en langt mer troverdig måte i fellesskapet siden vi faktisk er blitt evaluert av produktgruppen, og samtidig ha &#8220;carte blanche&#8221; til teknisk informasjon/dokumentasjon etc hva angår våre felt. Det gir samtidig en bekreftelse på at mye av det vi gjør, blir satt pris på samtidig som vi besitter et høyt nivå av kunnskap. Faglig så er det helt ideelt at vi får tidlig tilgang til software/informasjon som vi igjen kan dra nytte av også i jobbsammenheng og i fellesskapet, og kan komme med (u)nyttige tilbakemeldinger til produktgruppa og Microsoft. Personlig setter jeg muligheten til å bli kjent med resten av MVPene høyest, og at vi hjelper hverandre og også deler kunnskap internt. jeg tror det er veldig mange bra og sunne relasjoner ute og går som har sitt utspring fra MVP-felleskapet.</em><br />
<strong>- Kristian Nese (Glasspaper), MVP Cloud Infrastructure</strong></p>
<p><em>En av de viktigste tingene jeg vet om er sesjoner fra MVPene i produktgruppen med produktteamet i Microsoft.  Disse, for eksempel, har vi i App-V gruppen hver måned. Vi snakker om feil som vi har funnet, ting som kan forbees og nye ting Microsoft skulle vurdere å tilsette i produktet. Det er en stor fordel at de forskjellige MVPene har mye kontakt med forskjellige type kunder. Feedback vi gir kommer ofte fra kunder selv. Muligheten at vi kan koble tilbake slags feedback direkte til produktteamet er veldig viktig for utviklingen av produktet og framtidens adopsjon. Og Microsoft er veldig takknemlig for den  feedbacken.</em><br />
<strong> - Jurjen van Leeuwen (Leodesk IT), MVP App-V</strong></p>
<p><strong> </strong><strong> </strong></p>
<p><strong>Lenker:</strong></p>
<p>Bli en MVP: <a href="http://mvp.support.microsoft.com/gp/mvpbecoming%20">http://mvp.support.microsoft.com/gp/mvpbecoming </a></p>
<p>Nominer noen: <a href="http://mvp.support.microsoft.com/gp/mvpnominate%20">http://mvp.support.microsoft.com/gp/mvpnominate </a></p>
<p>Finn en MVP: <a href="https://mvp.support.microsoft.com/communities/mvp.aspx">https://mvp.support.microsoft.com/communities/mvp.aspx</a></p>
<p>Håper dette var til hjelp for mange. Om du ønsker å vite mer om MVP programmet, eller tror du kan være en aktuell kandidat, nominer deg selv eller send meg en mail J</p>
<p>Hilsen Anders</p>
]]></content:encoded>
			<wfw:commentRss>http://technett.itpro.no/2012/02/12/hva-er-microsoft-mvp-award/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Se sesjonene fra NIC 2012</title>
		<link>http://itpro.no/artikkel/16376/se-sesjonene-fra-nic-2012/</link>
		<comments>http://itpro.no/artikkel/16376/se-sesjonene-fra-nic-2012/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 20:52:31 +0000</pubDate>
		<dc:creator>Alexander Solaat Rødland</dc:creator>
				<category><![CDATA[IT-bransjen]]></category>
		<category><![CDATA[Karriere]]></category>
		<category><![CDATA[Utdanning og jobb]]></category>
		<guid isPermaLink="false">http://1.16376</guid>
		<description><![CDATA[<br/>Gikk du glipp av, eller var forhindret i å delta på årets NIC konferanse i Oslo Spectrum? Vi gir deg en full oversikt over sesjonene med video.]]></description>
			<content:encoded><![CDATA[<br/><p>Årets Nordic Infrastructure Conferance var også den første av sitt slag og fra redaksjonen i ITpro var selvsagt Alexander blant deltagerne.<br />
For utenom det faglige materialet var det to fullspekkede dager med sosiale fora og rike muligheter for relasjonsbygging og mingling.<br />
Blant speakere finner vi ikke mindre enn 17 norske og internasjonale MVP&#8217;er sammen med Chief Technology Officer (CTO) Miha Kralj som deler <a href="http://vimeo.com/nicconf/review/35023838/9108038e86">sin fremtidsvisjon</a> rundt IT og bransjens ledende fagpersoner.</p>
<p>Med fire Norske og en rekke prominente utenlandske foredragsholdere ble dette et kunnskapsrikt fora for alle ITproere.<br />
Konferansens arrangør, Crayon, har gjort opptak av både foredragsholder og fremvisning for publisering til publikum, også ITpro.no sine lesere.</p>
<p><strong>Redaksjonen anbefaler:</strong></p>
<p><img src="http://itpro.no/images/pil.gif" alt="" /> Jakob Gotlieb Svendsen: System Center Orchestrator &#8211; <a href="http://vimeo.com/nicconf/review/35139277/59d6f918ea">Technical Overview<br />
</a><img src="http://itpro.no/images/pil.gif" alt="" /> Anders Ravnholt: System Center 2012 Virtual Machine Manager: <a href="http://vimeo.com/nicconf/review/35055634/86d248e1c8">Overview<br />
</a><a href="http://vimeo.com/nicconf/review/35055634/86d248e1c8"><img src="http://itpro.no/images/pil.gif" alt="" /></a> Kristian Nese: Introducing System Center App Controller <a href="http://vimeo.com/nicconf/review/35056290/3bbb35aab9">with the Cloud<br />
</a><a href="http://vimeo.com/nicconf/review/35055634/86d248e1c8"><img src="http://itpro.no/images/pil.gif" alt="" /></a><a href="http://vimeo.com/nicconf/review/35055634/86d248e1c8"> </a>Olav Tvedt: Windows 8 &#8211; <a href="http://vimeo.com/nicconf/review/35064896/df65867fe8">what’s the fuzz all about?</a></p>
<p><strong>Alexanders utvalgte: </strong></p>
<p><a href="http://vimeo.com/nicconf/review/35055634/86d248e1c8"><img src="http://itpro.no/images/pil.gif" alt="" /></a> Miha Kralj: <a href="http://vimeo.com/nicconf/review/35023838/9108038e86">&#8220;The future of IT, and the ITpro&#8221;</a><br />
<a href="http://vimeo.com/nicconf/review/35055634/86d248e1c8"><img src="http://itpro.no/images/pil.gif" alt="" /></a> Johan Arwidmark: Inside Windows 8 – <a href="http://vimeo.com/nicconf/review/35054693/0b195096c8">The new Assessment and Deployment Kit<br />
</a><a href="http://vimeo.com/nicconf/review/35055634/86d248e1c8"><img src="http://itpro.no/images/pil.gif" alt="" /></a> Olav Tvedt: Managing Bitlocker with Microsoft Desktop Optimization Pack<a href="http://vimeo.com/nicconf/review/35054962/3adcc27437"> (MDOP)<br />
</a><a href="http://vimeo.com/nicconf/review/35055634/86d248e1c8"><img src="http://itpro.no/images/pil.gif" alt="" /></a> Nicolai Henriksen: System Center Endpoint Protection 2012 – <a href="http://vimeo.com/nicconf/review/35064853/68839edf15">Secure your servers and clients</a></p>
<p>&nbsp;</p>
<p>Var det en eller flere sesjoner du gikk glipp av, eller ønsker du en refresh finner du både våre anbefalinger, så vel som <strong>alle</strong> de øvrige opptakene fra årets konferanse på NIC2012 sine <a href="http://www.nic2012.com/nic2012_agenda">hjemmesider</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://itpro.no/artikkel/16376/se-sesjonene-fra-nic-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Få mer ut av virtualiseringen</title>
		<link>http://itpro.no/artikkel/16369/fa-mer-ut-av-virtualiseringen-2/</link>
		<comments>http://itpro.no/artikkel/16369/fa-mer-ut-av-virtualiseringen-2/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 17:50:24 +0000</pubDate>
		<dc:creator>Alexander Solaat Rødland</dc:creator>
				<category><![CDATA[Administrasjon]]></category>
		<category><![CDATA[IT-bransjen]]></category>
		<category><![CDATA[IT-drift og nettverk]]></category>
		<category><![CDATA[Konfigurasjon]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Servers]]></category>
		<category><![CDATA[Microsoft System Center]]></category>
		<category><![CDATA[Nettverk]]></category>
		<category><![CDATA[Serversystemer]]></category>
		<category><![CDATA[Virtualisering]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<guid isPermaLink="false">http://1.16369</guid>
		<description><![CDATA[<br/>I video nummer to tar Kristian Nese for seg hvilke kriterier som skal til for at noe kan kalles en sky og hva som skiller en nettsky fra en privat-sky. I denne 3 minutters filmen får du en innføring i definisjonene, karakteristikkene og leveransemodellene. Finn fram kaffe!]]></description>
			<content:encoded><![CDATA[<br/><p>Cloud Computing er det store nye når det gjelder distrubuering av tjenester og ressurser.<br />
MVP Kristian Nese har i et<a href="http://itpro.no/artikkel/16288/intervju-cloud-computing/"> intervju</a> hos ITpro tidligere forklart hva Cloud Computing innebærer. Lytt og se til hans forklaringer i dagens filmsesjon, hvor roller og betegnelser er dagens tema.</p>
<p><iframe src="http://www.youtube.com/embed/2kykyi6ar2U" frameborder="0" width="640" height="360"></iframe></p>
<p><img src="http://itpro.no/images/pil.gif" alt="" /> Les også: <a title="Permalink til Hvorfor skal man gå for Privat Cloud" href="http://itpro.no/artikkel/16360/hvorfor-skal-man-ga-for-privat-cloud-2/#" rel="bookmark">Hvorfor skal man gå for Privat Cloud</a></p>
]]></content:encoded>
			<wfw:commentRss>http://itpro.no/artikkel/16369/fa-mer-ut-av-virtualiseringen-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hvorfor skal man gå for Privat Cloud</title>
		<link>http://itpro.no/artikkel/16360/hvorfor-skal-man-ga-for-privat-cloud-2/</link>
		<comments>http://itpro.no/artikkel/16360/hvorfor-skal-man-ga-for-privat-cloud-2/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 20:35:01 +0000</pubDate>
		<dc:creator>Alexander Solaat Rødland</dc:creator>
				<category><![CDATA[Internett og sikkerhet]]></category>
		<category><![CDATA[IT-bransjen]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nettverk]]></category>
		<category><![CDATA[Serversystemer]]></category>
		<category><![CDATA[Trender]]></category>
		<guid isPermaLink="false">http://1.16360</guid>
		<description><![CDATA[<br/>I første video av tre deler forklarer MVP Kristian Nese forretningsverdien ved privatsky.]]></description>
			<content:encoded><![CDATA[<br/><p><iframe width="640" height="360" src="http://www.youtube.com/embed/63hBJ_IjD0A" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://itpro.no/artikkel/16360/hvorfor-skal-man-ga-for-privat-cloud-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feilsøking og debugging i Powershell</title>
		<link>http://janegil.itpro.no/5/feilsoking-og-debugging-i-powershell/</link>
		<comments>http://janegil.itpro.no/5/feilsoking-og-debugging-i-powershell/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 21:23:35 +0000</pubDate>
		<dc:creator>ITpro-redaksjonen</dc:creator>
				<category><![CDATA[Powershell]]></category>
		<guid isPermaLink="false">http://3.5</guid>
		<description><![CDATA[<br/>Noen ganger må vi håndtere feil som oppstår i kjøringen av en CmdLet, script eller funksjon. Vi skal her se på hvordan vi kan påvirke hvordan feil skal håndteres.]]></description>
			<content:encoded><![CDATA[<br/><h2>Feilsøking og debugging</h2>
<h3>Håndtering av feil (ErrorAction)</h3>
<p>Feil i PowerShell deles inn i to kategorier:</p>
<p>• <strong>Terminating</strong> Denne type feil stopper scriptet<br />
• <strong>Non-terminating</strong> Selv om det har oppstått feil kan scriptet fortsette videre</p>
<p>Feil som oppstår representeres med et eget objekt – ErrorRecord. Dette objektet inneholder en <em>exception</em> som er beskriver årsaken til at feilen har oppstått, i tillegg til å si hvor.</p>
<p>ErrorRecord objektene lagres i en standard variabel med navn $error. $error er en samling med ErrorRecords (faktisk 256 objekter – noe som tilsvarer de 256 siste feilene som har oppstått).</p>
<p>Hvert ErrorRecord objekt inneholder følgende egenskaper:</p>
<p>• <strong>Exception</strong> Er et eget objekt, med egne egenskaper. Den viktigste er Message som beskriver feilen. (Inneholder feilteksten)<br />
• <strong>TargetObject</strong> Dette er objektet hvor feilen oppsto<br />
• <strong>CategoryInfo</strong> Er en kategorisering av feil<br />
• <strong>FullyQualifiedErrorId</strong> Så spesifikk informasjon som mulig om feilen<br />
• <strong>ErrorDetails</strong> Denne er valgfri, så noen ganger er den null. Andre ganger inneholder den feilmeldingen i klartekst på engelsk.<br />
• <strong>InvocationInfo</strong> Hvis tilgjengelig, så sier denne deg hvilken linje i scriptet som har feilet, eller hvilken CmdLet. Kan være null.</p>
<p>Eksempel som skriver ut feilbeskrivelse for den siste feilen som har oppstått (error[0]):<br />
$error[0].Exception.Message</p>
<p>De fleste CmdLets lar deg påvirke hvordan de enkle feilene skal håndteres (de som ikke øyeblikkelig stopper scriptet, men hvor det er mulig å fortsette. (non-terminating)). Dette påvirker du igjennom ErrorAction parametret.</p>
<p>Følgende verdier kan benyttes på ErrorAction parametret:</p>
<p>• <strong>Continue</strong> Dette er default valget, og betyr at feilen blir skrevet ut, men kjøringen fortsetter uansett.<br />
• <strong>Stop</strong> Dette betyr at kjøringen skal stoppe ved feil<br />
• <strong>Inquire</strong> Valget stopper kjøringen, og ber brukeren bestemme om kjøringen skal fortsette eller ikke<br />
• <strong>SilentlyContinue</strong> Kjøringen av scriptet blir ikke avbrutt av feil. Feil blir heller ikke rapportert i resultatet.</p>
<p>Eksempel på bruk av ErrorAction (-ea) parameter:<br />
$a=Get-WmiObject Win32_OperatingSystem –ea stop</p>
<p><img src="http://fx.itpro.no/scr/powershell7_1" alt="Bruk av ErrorAction parameter" /></p>
<p>Du kan påvirke hva som er standardhandling når feil oppstår med variabelen $erroractionpreference.</p>
<p><img src="http://fx.itpro.no/scr/powershell7_2" alt="Bruk av variabelen $erroractionpreference" /></p>
<h3>Hvordan fange feil i Powershell 1.0?</h3>
<p>Når feil oppstår sier vi at et ”unntak blir kastet”, eller ”throw exception”. Med unntak mener vi at det har oppstått en situasjon hvor vanlig planlagt prosessering ikke kan skje. La oss si at vi skal flytte ei fil fra mappe a til mappe b, men at fila ikke finnes. Da kan vi ikke flytte fila, og må kaste et unntak som sier vi ikke fant fila.</p>
<p>Når feil oppstår er det best practice å ta i mot feilen (catch exception), og til å gjøre dette benytter vi en errorhandler. (feilhåndterer).</p>
<p>I Powershell 1.0 benyttet vi en Trap til å håndtere feil som ble kastet:</p>
<p>Trap [Exception] {<br />
#håndter feilen, eller gi informativ informasjon<br />
# $_ representerer ErrorRecord som ble kastet<br />
Return [argument] | break | continue<br />
}</p>
<p>I en errorhandler er det to ting som er spesielt viktig å huske. For det første har du informasjon om feilen som har oppstått tilgjengelig i variabelen $_ . Denne variabelen inneholder det ErrorRecord objektet som ble kastet der feilen oppstod. Videre er det viktig å huske at den siste linja i errorhandleren kan være en av tre kommandoer ; Return, Break eller Continue. Med return kan vi returnere verdier, med break kan vi stanse kjøringen, og med continue fortsetter vi uten å returnere noen verdi.</p>
<p>Følgende forklarer hvordan feilhåndtering virker i Powershell: Hvis en errorhandler er definert, blir denne utført når det oppstår feil. Errorhandler har tilgang til variabelen $error som forklarer hva som gikk galt. Den kan også sette ErrorPolicy for å si om scriptet skal fortsette eller ikke (defineres i slutten av errorhandler- slik som break eller continue, eller et hvilket som helst argument av eget ønske). Vi kan også definere en errorhandler til kun å omfatte bestemte typer feil. Dette angir vi direkte etter nøkkelordet Trap.</p>
<p>Her er et enkelt eksempel på en errorhandler:</p>
<p><strong>TrapTest.ps1</strong><br />
function CheckWMI ($computer)<br />
{<br />
trap<br />
{<br />
Write-host “Det oppstod en feil:”<br />
Write-host “ID: ” $_.ErrorId<br />
Write-host “Beskrivelse:” $_.Exception.Message<br />
continue<br />
}<br />
$osinfo = get-wmiobject Win32_OperatingSystem -property ServicePackMajorVersion -computer $computer -ea stop<br />
Write-host “Maskin: ” $osinfo.ServicePackMajorVersion<br />
}<br />
Write-host “Sjekker service pack versjoner:”<br />
CheckWMI(“FinnesEi”)<br />
CheckWMI(“FinnesHellerIkke”)</p>
<p>I eksemplet over er det viktig at –ea stop er med. Hvis ikke vil feilen blir håndtert i CmdLet’en, og ikke i ErrorHandleren vi definerte. Du kan selv teste dette ved å fjerne –ea stop (da blir default Continue benyttet som erroraction, og CmdLet Get-WMIObject håndterer feilen selv).</p>
<p>Du kan også kaste feil selv ved å benytte throw:<br />
throw “Noe gikk galt…”</p>
<p>Dette kan du også benytte i errorhandler, for eksempel for å behandle en feil, og sende den videre til neste errorhandler (hvis det er flere definert i overliggende scope)</p>
<p>Trap<br />
{<br />
throw $_<br />
}</p>
<h3>Hvordan fange feil med Powershell 2.0?</h3>
<p>Powershell 2.0 har fått fullverdig feilhåndtering gjennom try, catch og finally. Dette ligner med på ordinære programmeringspråk og lar oss skrive feilhåndtering på en annen måte enn med trap.</p>
<p>Typisk oppbygning for try,catch, finally:</p>
<p>try<br />
{ kodeblokk for try , handlinger som kan kaste feil }<br />
catch<br />
{ kodeblokk for catch, håndter feil som oppstår under try}<br />
finally<br />
{ kodeblokk for finally – rydder opp uansett feil eller ikke}</p>
<p>Du må ikke ha med finally om du ikke trenger det.</p>
<p>Kodeblokken vi har definert i catch kjører om det oppstår feil i kodeblokken som ligger i try. Om kodeblokken som kjører i try <strong>ikke opplever feil</strong> vil kodeblokken(e) i catch setningen ikke kjøre.<br />
<strong>Finally vil kjøres uavhengig om det går bra eller ikke med try.</strong></p>
<p>Vi kan bygge inn flere catch setninger etter hverandre. Hver catch setning kan fange spesifikke feil, eller vi kan ha en åpen catch som fanger alle de feilene vi ikke eksplisitt ser etter.</p>
<p>Vi starter med de mest spesifikke, og kan avslutte med en generell catch til slutt.</p>
<p>La oss se på ett eksempel hvor vi laster ned en fil fra en webserver:</p>
<p>try<br />
{<br />
$wc = new-object System.Net.WebClient<br />
$wc.DownloadFile(“http://www.itpro.no/dokumentet.doc”)<br />
}<br />
catch [System.Net.WebException],[System.IO.IOException]<br />
{<br />
“Kan ikke laste ned Dokumentet.doc fra http://www.itpro.no.”<br />
}<br />
catch<br />
{<br />
“En ukjent feil oppsto.”<br />
}<br />
Finally<br />
{<br />
Write-Host “Denne kjøres uansett”<br />
}</p>
<p><strong>Merk:</strong> Finally kjøres selv om du trykker CTRL+C eller har en exit kommando i skriptet.</p>
<h2>Debugging med Powershell 2.0</h2>
<p>Med Powershell 2.0 er debugging blitt enklere. Vi har fått mulighet til å sette breakpoints, og med ISE har vi fått ett grafisk grensesnitt som er enklere å forholde seg til under debugging. La oss starte med å se hvordan du kan debugge fra kommandolinjen i Powershell 2.0</p>
<h3>Debugging fra kommandolinjen</h3>
<p>I Powershell 2.0 bruker vi ikke Set-PSDebug som i Powershell 1.0, men vi benytter Set-PSBreakPoint. Set-PSBreakpoint kan sette breakpoint på linje, cmdlet eller variabel. Vi kan også benytte en scriptblokk, noe som lar oss sette betingelser for ett breakpoint.</p>
<p>Vi starter med å se hvordan vi kan sette breakpoint på en gitt linje i ett skript. Følgende eksempel setter breakpoint på linje 2 i scriptet testscript.ps1:<br />
Set-PSBreakpoint –Script testscript.ps1 –Line 2</p>
<p>Når du nå kjører scriptet vil det stoppe før linje 2 utføres. Du har da mulighet til å bruke egne debugkommandoer.<br />
Disse henter du frem ved å skrive h eller ? ved debugprompt. Kommandoene du har tilgjenglig er:</p>
<p>• s, stepInto<br />
• v, stepOver<br />
• o, stepOut<br />
• c, Continue<br />
• q, Quit<br />
• k, Get-PSCallStack<br />
• l, list<br />
• &lt; enter &gt;<br />
• h, ?</p>
<p>Av disse kommandoene bruker stepInto, stepOver, stepOut , quit og continue for å kontrollere kjøringen av scriptet. Om du ønsker å kjøre linje-for-linje velger du continue. Om du står på en linje som kaller en fuksjon eller ett annet script kan du bestemme om du skal debugge inn i funksjonen eller scriptet med stepInto og stepOver. StepInto tar deg inn i funsjonen eller scriptet, og stepOver utfører funksjonen eller scriptet, før den igjen stopper på neste linje i scriptet du allerde er i. StepOut kjører deg ut av funksjonen eller skriptet du nå er i. Quit avslutter kjøringen (og dermed også debuggingen) . Enter benyttes for å gjenta forrige valgte kommando.</p>
<p><img src="http://fx.itpro.no/scr/powershell7_3" alt="Bruk av diverse kommandoer" /></p>
<p>Du kan også angi Actions som skal kjøres når ett breakpoint er aktivert. Dette gjør du med –Action paramteren. På Set-PSBreakpoint. I eksemplet under ser du at den ikke stopper når navnet er lik Pelle, men kun når navnet er lik Ragnar.</p>
<p><img src="http://fx.itpro.no/scr/powershell7_4" alt="Bruk av Action parameteren" /></p>
<h3>Se callstack under debugging</h3>
<p>Ved debugprompten kan du se callstack for hvor du er med kommandoen k (ellet Get-PSCallStack). Det siste utførte steget er øverst, og det første er nederst i stakken. På eksemplet under ser du at sesjonen startet fra kommandolinjen (prompt) og vi står nå i scriptet testscript.ps1 på linje 2.</p>
<p><img src="http://fx.itpro.no/scr/powershell7_5" alt="Callstack under debugging" /></p>
<h3>Debugging med Powershell ISE</h3>
<p>For de fleste er Powershell ISE det enkleste stedet å utføre debugging. Last inn scriptet, og trykk F9 på linjen du ønsker å plassere ett breakpoint. I Powershell ISE har du en egen meny “Debug” hvor du kan se hvilke alternativer som er tilgjenglig. Powershell ISE har også egne tastatursnarveier for å kontrollere kjøringen av scriptet.</p>
<p><img src="http://fx.itpro.no/scr/powershell7_6" alt="Tastatursnarveier i Powershell ISE" /></p>
<p><img src="http://fx.itpro.no/scr/powershell7_7" alt="Debug-meny i Powershell ISE" /></p>
<p>En annen fin detalj er at ved å holde musmarkøren over en variabel vil de se innholdet av variabelen.<br />
På eksemplet under holder jeg musmarkøren over $Navn og får opp innholdet er lik Ragnar</p>
<p><img src="http://fx.itpro.no/scr/powershell7_8" alt="Bruk av musmarkør for å se innhold av variabel" /></p>
<p>I denne artikkelen har vi sett på hvordan vi kan skrive robuste script med feilhåndtering, samt hvordan vi kan debugge scriptene våre med Powershell.</p>
]]></content:encoded>
			<wfw:commentRss>http://janegil.itpro.no/5/feilsoking-og-debugging-i-powershell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

