VMware Cloud Community
ldelloca
Virtuoso
Virtuoso
Jump to solution

Sort Resource Pools by creation date

Hi all,

First of all, complete PS newbie here...

I'm trying to figure out a short PS code to extract these informations from our vCenter server.

If I use:

Get-ResourcePool | Sort-Object ID -descending

I receive the list based on the first number, so for example:

RP01          ResourcePool-resgroup-99

RP02          ResourcePool-resgroup-881

RP02 is listed after 01 even if it was created at a later time, simply because the first number (9) is bigger than 8.

Is there a way to list resource pools by the real increasing number, so I can have at the end the list based on creation date?

Thanks,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
Reply
0 Kudos
1 Solution

Accepted Solutions
RvdNieuwendijk
Leadership
Leadership
Jump to solution

Although I am not sure it will give you the resourcepools sorted by creation date, you can sort on the numbers in the resourcepool id's with:

Get-ResourcePool | Sort-Object -Descending -Property {[int]$_.Id.Split("-")[-1]} | Select-Object -Property Name,Id

Blog: https://rvdnieuwendijk.com/ | Twitter: @rvdnieuwendijk | Author of: https://www.packtpub.com/virtualization-and-cloud/learning-powercli-second-edition

View solution in original post

Reply
0 Kudos
6 Replies
LucD
Leadership
Leadership
Jump to solution

The only way I can see this possible is by looking at the Events and Tasks.

In these you can find the creation event for each resourcepool (provided you keep the events long enough on your vCenter of course).

Something like this

$rpTab =@{}
 Get-VIEvent -Start (Get-Date).AddDays(-7) -MaxSamples ([int]::MaxValue) | 
where {$_ -is [VMware.Vim.ResourcePoolCreatedEvent]} | %{   $rpTab.Add($_.ResourcePool.Name,$_) } Get-ResourcePool |
Sort-Object
-Property {$rpTab[$_.Name].CreatedTime} |
Select
Name,@{N="Date";E={$rpTab[$_.Name].CreatedTime}}

The sample code only goes back 7 days in the events.

If you need info on resourcepools that were created longer ago, you will have to adapt the code


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

RvdNieuwendijk
Leadership
Leadership
Jump to solution

Although I am not sure it will give you the resourcepools sorted by creation date, you can sort on the numbers in the resourcepool id's with:

Get-ResourcePool | Sort-Object -Descending -Property {[int]$_.Id.Split("-")[-1]} | Select-Object -Property Name,Id

Blog: https://rvdnieuwendijk.com/ | Twitter: @rvdnieuwendijk | Author of: https://www.packtpub.com/virtualization-and-cloud/learning-powercli-second-edition
Reply
0 Kudos
ldelloca
Virtuoso
Virtuoso
Jump to solution

Hi Luc,

thanks for the script, however I tried to run it and it stays in execution for hours without completing. It connects correctly to vcenter server, and I checked our configuration, events are kept for 365 days as per default configuration.

Any way to try and debug what is blocking the script from completing?

Thanks,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
Reply
0 Kudos
LucD
Leadership
Leadership
Jump to solution

Did you change the interval, as specified in AddDays(-7) which means go back 7 days ?

If you run the Get-VIEvent against a busy and big vCenter, the retrieval of the events can take some time.

You could try with a couple of hours, AddHours(-2) for example, and see if any events are coming back.

As an additional test you could create a test resourcepool and verify if the date is correctly indicated from the script.

Update: just noticed a typo in the script above. It's corrected now.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

Reply
0 Kudos
ldelloca
Virtuoso
Virtuoso
Jump to solution

Hi Guys,

the short code from Robert did the trick, thanks!

Luc, yes I tried to shorten the interval even to 1 hour right after creating a new Resource Pools but the script was not closing after an hour. It could be our vCenter is loaded (50 hosts, more than 1000 VMs) anyway Robert script is fast even here.

Thanks both,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
Reply
0 Kudos
LucD
Leadership
Leadership
Jump to solution

I'm not sure that the number guarantees a chronoligical order though.


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

Reply
0 Kudos