<?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>Virtualisera.se &#187; PowerShell</title>
	<atom:link href="http://www.virtualisera.se/index.php/tag/powershell/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.virtualisera.se</link>
	<description>Praktiska erfarenheter och reflektioner kring ämnet virtualisering</description>
	<lastBuildDate>Wed, 23 Dec 2009 17:40:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Daglig hälsokontroll av din vSphere-miljö</title>
		<link>http://www.virtualisera.se/index.php/2009/11/daglig-halsokontroll-av-din-vsphere-miljo/</link>
		<comments>http://www.virtualisera.se/index.php/2009/11/daglig-halsokontroll-av-din-vsphere-miljo/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 12:00:46 +0000</pubDate>
		<dc:creator>Andreas Berg</dc:creator>
				<category><![CDATA[Tips & Guider]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[vmotion]]></category>

		<guid isPermaLink="false">http://www.virtualisera.se/?p=155</guid>
		<description><![CDATA[Det är mycket information och många parametrar att hålla koll på i en VMware miljö. Information som både tar tid och kräver administration för att få fram. Tänkt dig att du t.ex. vill ta reda på hur många av dina &#8221;snapshots&#8221; som är äldre än 30 dagar eller du kanske vill få en rapport på [...]]]></description>
			<content:encoded><![CDATA[<p>Det är mycket information och många parametrar att hålla koll på i en VMware miljö. Information som både tar tid och kräver administration för att få fram. Tänkt dig att du t.ex. vill ta reda på hur många av dina &#8221;snapshots&#8221; som är äldre än 30 dagar eller du kanske vill få en rapport på &#8221;CPU Ready&#8221; värdet på samtliga virtuella maskiner eller få en lista på vilka maskiner som har en ansluten och aktiv CD-ROM (detta förhindrar vMotion). Hur löser du detta idag? Ja, all denna information går naturligtvis att få fram genom vCenter men det kan i vissa fall ta onödigt lång tid och man får i många fall checka av vissa saker för varje enskild vm/host. Ok, detta kanske inte är en stor grej om man har 3 ESX hostar och kanske 25 vm:s. Men i miljöer där man kommer upp i volym på både hostar och vm:s så kan denna typ av information bli väldigt tidskrävande att få fram. Att manuellt kontrollera eller editera specifika detaljer för 200-300 virtuella maskiner kan snabbt bli ett tidsödande projekt.</p>
<p><img class="size-full wp-image-167 alignright" title="powerCLI" src="http://www.virtualisera.se/wp-content/uploads/2009/11/powerCLI.png" alt="powerCLI" width="147" height="99" /></p>
<p>Det är här som finessen och möjligheterna med <a href="http://en.wikipedia.org/wiki/Windows_PowerShell" target="_blank">PowerShell</a> och <a href="http://www.vmware.com/support/developer/windowstoolkit/" target="_blank">vSphere PowerCLI</a> verkligen kommer till nytta. Powershell är som ni säkert alla vet ett textbaserat &#8221;shell&#8221; &#8211; alltså ett kommando-promptsverktyg som till skillnad från de tidigare verktygen som funnits för Windows, t.ex. CMD.exe och Windows Script Host, är helt igenom objektorienterat och bygger på .NET-Framework 2.0. Genom PowerShell och så kallade “command-lets” kan man på ett mycket effektivt sätt administrera och hantera olika komponenter i Windows. vSphere PowerCLI är ett Windows PowerShell interface för vSpheres API. Det innehåller olika PowerShell “command-lets” för att administrera de olika vSphere komponenterna.</p>
<p>Det finns hundratals sidor på nätet med guider och tips på hur man kommer igång med PowerShell och vSphere PowerCLI och jag tänker inte ge mig in på detta utan tänkte istället tipsa er om ett utmärkt script skrivet av mannen bakom <a href="http://www.virtu-al.net" target="_blank">www.virtu-al.net</a>. Detta smått fantastiska script innehåller många olika funktioner och skapar automatisk en rapport med en generell översikt av din virtuella infrastruktur och notiser av eventuella punkter kan kräva åtgärder eller tillsyn. Scriptet körs mot din vCenter server och mailar resultatet som en snygg och prydligt html-tabell till valfri e-postmottagare. Följande punkter är exempel på punkter som scriptet kontrollerar och går igenom:</p>
<ul>
<li><span style="color: #3366ff;"><em>Number of Hosts</em></span></li>
<li><span style="color: #3366ff;"><em>Number of VMs</em></span></li>
<li><span style="color: #3366ff;"><em>Number of Datastores</em></span></li>
<li><span style="color: #3366ff;"><em>Number of DRS Migrations for the last days</em></span></li>
<li><span style="color: #3366ff;"><em>Snapshots over x Days old</em></span></li>
<li><span style="color: #3366ff;"><em>Datastores with less than x% free space</em></span></li>
<li><span style="color: #3366ff;"><em>VMs created over the last x days</em></span></li>
<li><span style="color: #3366ff;"><em>VMs with No Tools</em></span></li>
<li><span style="color: #3366ff;"><em>VMs with CD-Roms connected</em></span></li>
<li><span style="color: #3366ff;"><em>VMs with CPU ready over x%</em></span></li>
<li><span style="color: #3366ff;"><em>Hosts in Maintenance Mode</em></span></li>
<li><span style="color: #3366ff;"><em>VC Error Events over the last x days</em></span></li>
<li><span style="color: #3366ff;"><em>VC Windows Event Log Errors for the last x days with VMware in the details</em></span></li>
<li><span style="color: #3366ff;"><em>VM active alerts</em></span></li>
<li><span style="color: #3366ff;"><em>Cluster Active Alerts</em></span></li>
<li><span style="color: #3366ff;"><em>vSphere check: Outdated VM Hardware (Less than V7)</em></span></li>
<li><span style="color: #3366ff;"><em>VMs in Inconsistent folders (the name of the folder is not the same as the name)</em></span></li>
</ul>
<p>Detta är endast några av de punkter som scriptet kontrollerar och redogör för i din miljö. För att kunna köra detta script krävs det att du har PowerShell och vSphere PowerCLI installerat på den server som du vill köra detta från (måste inte vara din vCenter server).</p>
<p>PowerShell kan du hämta <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx" target="_blank">här</a>. Och VMware vSphere PowerCLI kan du hämta <a href="http://www.vmware.com/support/developer/windowstoolkit/" target="_blank">här</a>.</p>
<p>Själva scriptet hittar du här: <a href="http://www.virtualisera.se/filarkiv/public/Script/vCenterDailyReport.txt" target="_blank">vCenterDailyReport.txt</a> Döp om scriptet till &#8216;vCenterDailyReport.ps1&#8242; efter du laddat ner det.</p>
<p>För att få det hela att fungera så börjar du med att installera PowerShell och därefter vSphere PowerCLI. När detta är gjort så sparar du ner scriptet till lämplig plats på servern t.ex. &#8221;c:\vscripts\vCenterDailyReport.ps1&#8243;. När detta är gjort kan du starta vSphere PowerCLI prompten via startmenyn. Det kommer att se ut ungefär såhär:</p>
<p><img class="alignnone size-full wp-image-162" title="vcli1" src="http://www.virtualisera.se/wp-content/uploads/2009/11/vcli1.jpg" alt="vcli1" width="534" height="98" /></p>
<p>För att sedan köra scriptet skriver du följande vid kommandoprompten:</p>
<pre><span style="color: #008000;">c:\vscripts\vCenterDailyReport.ps1 vcenterServerNamn</span></pre>
<p>Byt ut &#8221;vcenterServerNamn&#8221; mot namnet på din vCenter server eller IP-adress.  För att redigera scriptet så att rapporten som genereras hamnar hos rätt mottagare letar du upp raderna so visas nedan och redigerar dess efter din miljö.</p>
<pre><span style="color: #008000;"># Set the SMTP Server address
$SMTPSRV = ""
# Set the Email address to recieve from
$EmailFrom = ""
# Set the Email address to send the email to
$EmailTo = ""</span></pre>
<p>Det finns även andra variabler att justera efter behov men börja med detta och se till att det att fungerar först. Jag har schemalagt detta script och det körs dagligen i vår miljö och jag har varje morgon en snygg och prydlig rapport som väntar på mig i inkorgen. Vill du schemalägga scriptet gör du det enklast genom att skapa en enkel &#8221;bat-fil&#8221; som du sedan kör via windows egna task scheduler.</p>
<p>Lägg följande rad i batfilen för att köra scriptet (redigera eventuella sökvägar efter din egen miljö):</p>
<pre><span style="color: #008000;">C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -PSConsoleFile
C:\Program\VMware\Infrastructure\vSphere PowerCLI\vim.psc1"
Command "&amp; 'C:\vscripts\vCenterDailyReport.ps1' vcenterServerNamn"</span></pre>
<p>Lycka till med detta mycket kraftfulla och tidsbesparande script.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualisera.se/index.php/2009/11/daglig-halsokontroll-av-din-vsphere-miljo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
