From Newsletter - Getting screenshots

PowerShell script exchange

From Newsletter - Getting screenshots

Veeam Logoby Martin9700 » Mon Jan 14, 2013 5:40 pm 3 people like this post

Saw Gostov's newsletter about getting screen shots from vSphere and had to write a little Powershell script to get the MoRef and launch the web page for you. Source code is on Spiceworks: http://community.spiceworks.com/scripts ... -your-vm-s


Didn't want to post to another community only (not sure if that's ok or not) so here is the script:

Code: Select all
<#
.SYNOPSIS
   Simple script to retrieve a screenshot of a virtual server.
.DESCRIPTION
   Simple script that accepts input from parameter or the pipeline and will
   start up a web page with a screenshot of the console page for the specified
   virtual machines. 
   
   This is a capability already present in VMware vSphere 5 and this script
   just simplifies getting the proper information. 
   
   Requirments:  VMware vSphere 5 or greater
                 VMware PowerCLI
             
   Don't forget to edit the PARAM section (specifically $VMHost) to match
   your environment.
   
   Special Thanks to Hubba Bubba at Spiceworks for testing this for me.
.PARAMETER Name
   Name, or names for the virtual servers you wish to view.  Accepts input
   from the pipeline or it will prompt you.  Can be many servers.
.PARAMETER VMHost
   Name of your vCenter server, or the vSphere host server. 
.EXAMPLE .\Get-VMScreenshots.ps1 -Name myvm -VMHost myvCenter
   Will open your default browser and show the current console screen for "myvm".
.EXAMPLE Get-Content Servers.txt | .\Get-VMScreenshots.ps1
   Will pull each server name out of Servers.txt and display the screen shot
   for those VM's.
.EXAMPLE Get-VM *TEST* | .\Get-VMScreenshots.ps1
   Will execute the Get-VM cmdlet, searching for all VM's with TEST in their
   names and display those screen shots.
.NOTES
   Author:         Martin Pugh
   Twitter:        @thesurlyadm1n
   Spiceworks:     Martin9700
   Blog:           www.thesurlyadmin.com
   
   Changelog:
      1.0         Initial release
.LINK
   http://community.spiceworks.com/scripts/show/1748-get-vmscreenshot-get-screen-shots-from-the-console-session-of-your-vm-s
.LINK
   http://www.youtube.com/watch?v=flo0bMs6hjY
#>
Param (
   [Parameter(Mandatory=$true,
      ValueFromPipeline=$true,
      ValueFromPipelineByPropertyName=$true)]
   [String[]]$Name,
   [string]$VMHost = "vCenterServer"
)

Begin {
   #Load VMWare CLI cmdlets
   Try   {
      If (-not (Get-PSSnapin VMware.VimAutomation.Core))
      {   Add-PSSnapin VMware.VimAutomation.Core -ErrorAction Stop
      }
   }
   Catch {
      Write-Host "`n`nUnable to load VMware CLI cmdlets, are they installed on this host?"; Break
   }
   #Now connect to vCenter using your credentials
   Connect-VIServer $VMHost -ErrorAction Stop
}

Process {
   Foreach ($VM in $Name)
   {   $MoRef = (Get-VM $VM).ExtensionData.MoRef.Value
      Start-Process -FilePath "https://$VMHost/screen?id=$MoRef"
   }
}


Accepts input from parameters, will prompt you if you don't enter anything too. Will also accept input from pipeline, so Get-Content, Get-VM all work.

Get-Content servers.txt | .\Get-VMScreenshot.ps1
Get-VM *Test* | .\Get-VMScreenshot.ps1
.\Get-VMScreenshot.ps1 -Name "server1","server2"


Enjoy!
Martin
www.thesurlyadmin.com
@thesurlyadm1n
Martin9700
Influencer
 
Posts: 17
Liked: 3 times
Joined: Wed Nov 10, 2010 2:18 pm
Location: Massachusetts
Full Name: Martin Pugh

Re: From Newsletter - Getting screenshots

Veeam Logoby Vitaliy S. » Mon Jan 14, 2013 6:04 pm

Thanks for sharing!
Vitaliy S.
Veeam Software
 
Posts: 19539
Liked: 1097 times
Joined: Mon Mar 30, 2009 9:13 am
Full Name: Vitaliy Safarov

Re: From Newsletter - Getting screenshots

Veeam Logoby Martin9700 » Thu Jan 31, 2013 12:35 pm

Talked about how I created this script here:
http://thesurlyadmin.com/2013/01/31/dis ... owershell/
Martin
www.thesurlyadmin.com
@thesurlyadm1n
Martin9700
Influencer
 
Posts: 17
Liked: 3 times
Joined: Wed Nov 10, 2010 2:18 pm
Location: Massachusetts
Full Name: Martin Pugh


Return to PowerShell



Who is online

Users browsing this forum: Yahoo [Bot] and 3 guests