<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://vwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=PS_getsnapshotsize-1.ps1</id>
	<title>PS getsnapshotsize-1.ps1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://vwiki.co.uk/index.php?action=history&amp;feed=atom&amp;title=PS_getsnapshotsize-1.ps1"/>
	<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=PS_getsnapshotsize-1.ps1&amp;action=history"/>
	<updated>2026-04-19T06:54:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://vwiki.co.uk/index.php?title=PS_getsnapshotsize-1.ps1&amp;diff=1832&amp;oldid=prev</id>
		<title>Sstrutt: Re-orged categories</title>
		<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=PS_getsnapshotsize-1.ps1&amp;diff=1832&amp;oldid=prev"/>
		<updated>2012-04-18T13:55:30Z</updated>

		<summary type="html">&lt;p&gt;Re-orged categories&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:55, 18 April 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l274&quot;&gt;Line 274:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 274:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;VMware]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PowerCLI_Script&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:PowerShell]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:PowerCLI&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sstrutt</name></author>
	</entry>
	<entry>
		<id>http://vwiki.co.uk/index.php?title=PS_getsnapshotsize-1.ps1&amp;diff=1247&amp;oldid=prev</id>
		<title>Sstrutt: Initial creation</title>
		<link rel="alternate" type="text/html" href="http://vwiki.co.uk/index.php?title=PS_getsnapshotsize-1.ps1&amp;diff=1247&amp;oldid=prev"/>
		<updated>2011-03-24T16:27:21Z</updated>

		<summary type="html">&lt;p&gt;Initial creation&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
param($vm)&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
# GetDeltaFileList  - walks through list of files and for each .vmdk returns&lt;br /&gt;
# relative -delta.vmdk item.&lt;br /&gt;
#&lt;br /&gt;
# params:&lt;br /&gt;
#    [string[]] $fileList - array of file names&lt;br /&gt;
#    &lt;br /&gt;
# returns:&lt;br /&gt;
#    [string[]] array of file names&lt;br /&gt;
###############################################################################&lt;br /&gt;
function GetDeltaFileList($fileList) {&lt;br /&gt;
   $deltaFileList = @()&lt;br /&gt;
   foreach($file in $fileList) {&lt;br /&gt;
      if ($file -match &amp;quot;.vmdk&amp;quot;) {&lt;br /&gt;
         $deltaFile = $file.Replace(&amp;quot;.vmdk&amp;quot;, &amp;quot;-delta.vmdk&amp;quot;)&lt;br /&gt;
         $deltaFileList += $deltaFile&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   return $deltaFileList&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
# GetVirtualMachineFilesSizeHash - returns a hashtable&lt;br /&gt;
# in which keys are file names that are part of the VM and &lt;br /&gt;
# the values are their sizes&lt;br /&gt;
#&lt;br /&gt;
# params:&lt;br /&gt;
#    [VMware.Vim.VirtualMachine] $vmView - the vm view for which to get file &lt;br /&gt;
#    size information&lt;br /&gt;
#    &lt;br /&gt;
# returns:&lt;br /&gt;
#    [Hashtable] Hashtable in which keys are filenames, values are their sizes&lt;br /&gt;
###############################################################################&lt;br /&gt;
function GetVirtualMachineFilesSizeHash($vmView) {&lt;br /&gt;
   # first collect all files that are part of VM snapshots&lt;br /&gt;
   $allFileList = $vmView.Layout.Snapshot | `&lt;br /&gt;
      foreach { $_.SnapshotFile } | `&lt;br /&gt;
      select -Unique&lt;br /&gt;
&lt;br /&gt;
   # add to the list current delta disk files&lt;br /&gt;
   # getting them from harddisks&lt;br /&gt;
   $vmView.Config.Hardware.Device  | `&lt;br /&gt;
      where { $_ -is [VMware.Vim.VirtualDisk]} | `&lt;br /&gt;
      foreach { $_.Backing } | `&lt;br /&gt;
      foreach { $allFileList += $_.FileName }&lt;br /&gt;
      &lt;br /&gt;
   # adding -delta.vmdk files to the list &lt;br /&gt;
   # because each snapshot .vmdk file has a pair named -delta.vmdk&lt;br /&gt;
   # we should add them into calculation&lt;br /&gt;
   GetDeltaFileList $allFileList | `&lt;br /&gt;
      foreach { $allFileList +=  $_ }&lt;br /&gt;
      &lt;br /&gt;
   # extract unique folder list, we will make a query for each folder&lt;br /&gt;
   $folderList = @()&lt;br /&gt;
   foreach($file in $allFileList) {&lt;br /&gt;
      $lastSlashPosition = $file.LastIndexOf(&amp;#039;/&amp;#039;)&lt;br /&gt;
      $folder = $file.Substring(0, $lastSlashPosition+1)&lt;br /&gt;
      if ($folderList -notcontains $folder) {&lt;br /&gt;
         $folderList += $folder&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   # prepare file query flag struct&lt;br /&gt;
   $fileQueryFlags = New-Object VMware.Vim.FileQueryFlags&lt;br /&gt;
   $fileQueryFlags.FileSize = $true&lt;br /&gt;
   $fileQueryFlags.FileType = $false&lt;br /&gt;
   $fileQueryFlags.Modification = $true&lt;br /&gt;
   &lt;br /&gt;
   # prepare search specification&lt;br /&gt;
   $searchSpec = New-Object VMware.Vim.HostDatastoreBrowserSearchSpec&lt;br /&gt;
   $searchSpec.details = $fileQueryFlags&lt;br /&gt;
&lt;br /&gt;
   $filesizeHash = @{}&lt;br /&gt;
   # iterate through all folders and query each of them&lt;br /&gt;
   # fill up $filesizeHash&lt;br /&gt;
   foreach($folder in $folderList) {&lt;br /&gt;
      if ($folder -match &amp;quot;\[(.+)\] (.+)&amp;quot;) {&lt;br /&gt;
         $datastoreName = $matches[1]&lt;br /&gt;
         $folderName = $matches[2].Replace(&amp;#039;/&amp;#039;, &amp;#039;\&amp;#039;)&lt;br /&gt;
      &lt;br /&gt;
         $dsView = Get-Datastore $datastoreName | Get-View&lt;br /&gt;
            &lt;br /&gt;
         $dsBrowserView = Get-View $dsView.browser&lt;br /&gt;
         $searchResult = $dsBrowserView.SearchDatastoreSubFolders($folder, $searchSpec)&lt;br /&gt;
         foreach($searchResultItem in $searchResult) {&lt;br /&gt;
            foreach($searchResultFileItem in $searchResultItem.File) {&lt;br /&gt;
               $fileName = ($folder + $searchResultFileItem.Path)&lt;br /&gt;
               $filesizeHash[$fileName] = $searchResultFileItem.FileSize&lt;br /&gt;
            }&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   return $filesizeHash&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
# CalculateSnapshotTreeSize - calculates the size of each snapshot in given&lt;br /&gt;
# snapshot tree.&lt;br /&gt;
#&lt;br /&gt;
# params:&lt;br /&gt;
#    [VMware.Vim.VirtualMachine] $vmView - Virtual machine view object of the &lt;br /&gt;
#    machine from which is the snapshot tree object&lt;br /&gt;
#&lt;br /&gt;
#    [VMware.Vim.VirtualMachineSnapshotTree] $snapshotTreeView - a snapshot tree &lt;br /&gt;
#    view object for which will be calculated the size of each snapshot&lt;br /&gt;
#&lt;br /&gt;
#    [String[]] $alreadyCalculatedFileList - list of file names that are&lt;br /&gt;
#    already calculated in previous levels of the snapshot tree&lt;br /&gt;
#&lt;br /&gt;
#    [ArrayList] $resultObjectList - list in which are collected result objects&lt;br /&gt;
#    Structure of the objects are described below in CalculateVMSnapshotsSizeMB &lt;br /&gt;
#    function comments&lt;br /&gt;
#&lt;br /&gt;
# returns: no output&lt;br /&gt;
#    &lt;br /&gt;
#&lt;br /&gt;
###############################################################################&lt;br /&gt;
function CalculateSnapshotTreeSize(&lt;br /&gt;
   $vmView, &lt;br /&gt;
   $snapshotTreeView, &lt;br /&gt;
   [array]$alreadyCalculatedFileList, &lt;br /&gt;
   $resultObjectList,&lt;br /&gt;
   $filesizeHash) {&lt;br /&gt;
&lt;br /&gt;
   $snapshotId = $snapshotTreeView.Snapshot.ToString()&lt;br /&gt;
   &lt;br /&gt;
   # Obtaining the list of all files that are part of current snapshot&lt;br /&gt;
   [array]$snapshotFileList = $vmView.Layout.Snapshot | `&lt;br /&gt;
      where { $_.Key.ToString() -eq $snapshotId } | `&lt;br /&gt;
      foreach { $_.SnapshotFile }&lt;br /&gt;
      &lt;br /&gt;
   # filter already calculated files&lt;br /&gt;
   [array]$snapshotFileList = $snapshotFileList | `&lt;br /&gt;
      where { $alreadyCalculatedFileList -notcontains $_ }&lt;br /&gt;
      &lt;br /&gt;
   # Into the size of the active (current) snapshot should be added&lt;br /&gt;
   # the size of delta files which maintain changes made after creating/reverting&lt;br /&gt;
   # to that snapshot.&lt;br /&gt;
   # These files are not pointed in the layout property. They are related&lt;br /&gt;
   # to the HardDisk objects, so we are getting them from Hardware property&lt;br /&gt;
   if ($snapshotId -eq $vmView.Snapshot.CurrentSnapshot.ToString()) {&lt;br /&gt;
      # working on current snapshot&lt;br /&gt;
      [array]$currentVMDKFilenameList = $vmView.Config.Hardware.Device  | `&lt;br /&gt;
         where { $_ -is [VMware.Vim.VirtualDisk]} | `&lt;br /&gt;
         foreach { $_.Backing } | `&lt;br /&gt;
         foreach { $_.FileName }&lt;br /&gt;
         &lt;br /&gt;
      if ($currentVMDKFilenameList) {&lt;br /&gt;
         $snapshotFileList += $currentVMDKFilenameList&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   $deltaFileList = GetDeltaFileList $snapshotFileList&lt;br /&gt;
   if ($deltaFileList) {&lt;br /&gt;
      $snapshotFileList += $deltaFileList&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   $sizeBytes = 0&lt;br /&gt;
   foreach($file in $snapshotFileList) {&lt;br /&gt;
      $sizeBytes += $filesizeHash[$file]&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   # creating result object&lt;br /&gt;
   $resultObject = &amp;quot;&amp;quot; | Select ID,Name,SizeMB,FileList,PowerState,`&lt;br /&gt;
      CreateTime,Description,IsCurrent,VMName,VirtualMachineID&lt;br /&gt;
   $resultObject.ID = $snapshotId&lt;br /&gt;
   $resultObject.Name = $snapshotTreeView.Name&lt;br /&gt;
   $resultObject.SizeMB = ($sizeBytes / 1024 / 1024)&lt;br /&gt;
   $resultObject.FileList = $snapshotFileList&lt;br /&gt;
   $resultObject.PowerState = $snapshotTreeView.State&lt;br /&gt;
   $resultObject.Description = $snapshotTreeView.Description&lt;br /&gt;
   $resultObject.CreateTime = $snapshotTreeView.CreateTime&lt;br /&gt;
   $resultObject.IsCurrent = ($snapshotId -eq $vmView.Snapshot.CurrentSnapshot.ToString())&lt;br /&gt;
   $resultObject.VMName = $vmView.Name&lt;br /&gt;
   $resultObject.VirtualMachineID = $vmView.MoRef.ToString()&lt;br /&gt;
   &lt;br /&gt;
   # adding the object to result list&lt;br /&gt;
   [void]($resultObjectList.Add($resultObject))&lt;br /&gt;
   &lt;br /&gt;
   # Calculating size of all child snapshots in the tree&lt;br /&gt;
   if ($snapshotTreeView.ChildSnapshotList.Count -gt 0) {&lt;br /&gt;
      # adding this snapshot files to already calculated file list&lt;br /&gt;
      $alreadyCalculatedFileList += $snapshotFileList&lt;br /&gt;
      &lt;br /&gt;
      # calling the function for each child&lt;br /&gt;
      foreach($snapshotTree in $snapshotTreeView.ChildSnapshotList) {&lt;br /&gt;
         CalculateSnapshotTreeSize $vmView $snapshotTree $alreadyCalculatedFileList $resultObjectList $filesizeHash&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
###############################################################################&lt;br /&gt;
#&lt;br /&gt;
# CalculateVMSnapshotsSizeMB - calculates size of all snapshots of given VM&lt;br /&gt;
# Returns list of objects , each of them describes a snapshot and its size in MB.&lt;br /&gt;
#&lt;br /&gt;
# parasm:&lt;br /&gt;
#    [VirtualMachine] $vm  - virtual machine for which snapshot size will be calculated&lt;br /&gt;
#&lt;br /&gt;
# return:&lt;br /&gt;
#    [PSCustomObject[]] array of objects with following structure:&lt;br /&gt;
#        ID - Snapshot ID&lt;br /&gt;
#        Name - snapshot Name   &lt;br /&gt;
#        SizeMB - size of the snapshot in MB&lt;br /&gt;
#        FileList - files that are part of the snapshot&lt;br /&gt;
#        PowerState - powere state of the snapshot&lt;br /&gt;
#        CreateTime - creation time of the snapshot&lt;br /&gt;
#        Description - snapshot description&lt;br /&gt;
#        IsCurrent - flag that shows is this snapshot currunt or not&lt;br /&gt;
#        VirtualMachineID - ID of the snapshot&amp;#039;s virtual machine&lt;br /&gt;
###############################################################################&lt;br /&gt;
function CalculateVMSnapshotsSizeMB($vm) {&lt;br /&gt;
   $vmView = Get-View -VIObject $vm&lt;br /&gt;
   &lt;br /&gt;
   if (-not $vmView.Snapshot) {&lt;br /&gt;
      # no snapshots, nothing to do&lt;br /&gt;
      return&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   # To optimize the process file size retrieving we use GetVirtualMachineFilesSizeHash&lt;br /&gt;
   # It returns a hashtable in which keys are file names and values are sizes&lt;br /&gt;
   # This hashtable is passed to CalculateSnapshotTreeSize function&lt;br /&gt;
   $filesizeHash = GetVirtualMachineFilesSizeHash $vmView&lt;br /&gt;
&lt;br /&gt;
   # initialize ArrayList in which all size of all snapshots will be collected&lt;br /&gt;
   $resultObjectList = New-Object System.Collections.ArrayList&lt;br /&gt;
   &lt;br /&gt;
   # iterate through all items in RootSnapshotList and calculate the size&lt;br /&gt;
   # for each tree &lt;br /&gt;
   foreach($snapshotTree in $vmView.Snapshot.RootSnapshotList) {&lt;br /&gt;
      # For each root snapshot all VMDK files should be excluded from calculations&lt;br /&gt;
      $snapshotId = $snapshotTree.Snapshot.ToString()&lt;br /&gt;
      $vmdkFiles = $vmView.Layout.Snapshot | `&lt;br /&gt;
         where { $_.Key.ToString() -eq $snapshotId } | `&lt;br /&gt;
         foreach { $_.SnapshotFile } | `&lt;br /&gt;
         where { $_ -like &amp;#039;*.vmdk&amp;#039; }&lt;br /&gt;
      CalculateSnapshotTreeSize $vmView $snapshotTree $vmdkFiles $resultObjectList $filesizeHash&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   return $resultObjectList&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#if (-not $vm) {&lt;br /&gt;
#   $vm = @()&lt;br /&gt;
#}&lt;br /&gt;
#&lt;br /&gt;
#foreach($item in $input) {&lt;br /&gt;
#   $vm += $item&lt;br /&gt;
#}&lt;br /&gt;
#&lt;br /&gt;
#if (-not $vm)  {&lt;br /&gt;
#   $usageText = @&amp;quot;&lt;br /&gt;
#Usage: SnapshotSize.ps1 &amp;lt;virtual machine object&amp;gt;&lt;br /&gt;
#Return list of PSCustomObjects with similar structure of the Snapshot &lt;br /&gt;
#type with correctly calculated SizeMB property.&lt;br /&gt;
#&lt;br /&gt;
#Examples: &lt;br /&gt;
#.\SnapshotSize.ps1 (Get-VM MyVM)&lt;br /&gt;
#Get-VM | .\SnapshotSize.ps1&lt;br /&gt;
#&amp;quot;@&lt;br /&gt;
#   Write-Host $usageText&lt;br /&gt;
#   return&lt;br /&gt;
#}&lt;br /&gt;
#&lt;br /&gt;
#foreach($item in $vm) {&lt;br /&gt;
#   CalculateVMSnapshotsSizeMB $item&lt;br /&gt;
#}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:VMware]]&lt;br /&gt;
[[Category:PowerShell]]&lt;br /&gt;
[[Category:PowerCLI]]&lt;/div&gt;</summary>
		<author><name>Sstrutt</name></author>
	</entry>
</feed>