Skip to main content

VM Creation Date & Time from Powercli




Most of the times we have several requirement when we talk about IT environment like designing , deployment , compliance check or for Security auditing the environment.

Somewhere during security auditing we require to provide several information to security team to get successful audit.

One of them is the compliance of Virtual machine auditing of creation date and time.

Here into this post we will explore how to get the creation date and time of virtual machine hosted into the vCenter or ESXi.

To get the details we will use VMware Powercli to extract the details.

By default there is no function added into Powercli to get such details, so here we will add a function of vm creation date.

Below is the function which needed to be copy and paste into the Powercli.

=======================================================================

function Get-VMCreationTime {
   $vms get-vm
   $vmevts = @()
   $vmevt new-object PSObject
   foreach ($vm in $vms) {
      #Progress bar:
      $foundString "       Found: "+$vmevt.name+"   "+$vmevt.createdTime+"   "+$vmevt.IPAddress+"   "+$vmevt.createdBy
      $searchString "Searching: "+$vm.name
      $percentComplete $vmevts.count / $vms.count * 100
      write-progress -activity $foundString -status $searchString -percentcomplete $percentComplete

      $evt get-vievent $vm | sort createdTime | select -first 1
      $vmevt new-object PSObject
      $vmevt add-member -type NoteProperty -Name createdTime -Value $evt.createdTime
      $vmevt add-member -type NoteProperty -Name name -Value $vm.name
      $vmevt add-member -type NoteProperty -Name IPAddress -Value $vm.Guest.IPAddress
      $vmevt add-member -type NoteProperty -Name createdBy -Value $evt.UserName
      #uncomment the following lines to retrieve the datastore(s) that each VM is stored on
      #$datastore = get-datastore -VM $vm
      #$datastore = $vm.HardDisks[0].Filename | sed 's/\[\(.*\)\].*/\1/' #faster than get-datastore
      #$vmevt | add-member -type NoteProperty -Name Datastore -Value $datastore
      $vmevts += $vmevt
      #$vmevt #uncomment this to print out results line by line
   }
   $vmevts | sort createdTime
}

=======================================================================

  •   Now connect to vCenter server by using Connect-VI server command. 
             Example:

     C:\PS>Connect-VIServer -Server 192.168.0.1 -User Administrator
     -Password passwd

       Name                                    Port
       ----                                    ----
       192.168.0.1                             443


  •   Run below command, which will give you all the VM details into the vCenter for its          creation date and time.

      Get-VM | Get-VMcreationTime

        This will give the output all the VM’s creation details.





        Happy Sharing …  :)




Popular posts from this blog

Changing the FQDN of the vCenter appliance (VCSA)

This article states how to change the system name or the FQDN of the vCenter appliance 6.x You may not find any way to change the FQDN from the vCenter GUI either from VAMI page of from webclient as the option to change the hostname always be greyed out. Now the option left is from the command line of VCSA appliance. Below steps will make it possible to change the FQDN of the VCSA from the command line. Access the VCSA from console or from Putty session. Login with root permission Use above command in the command prompt of VCSA : /opt/vmware/share/vami/vami_config_net Opt for option 3 (Hostname) Change the hostname to new name Reboot the VCSA appliance.   After reboot you will be successfully manage to change the FQDN of the VCSA . Note: Above step is unsupported by VMware and may impact your SSL certificate and face problem while logging to vSphere Web Client. If you are using self-signed certificate, you can regenerate the certificate with the

Collecting Logs from NSX-T Edge nodes using CLI

  This article explains how to extract the logs from NSX-T Edge nodes from CLI. Let's view the steps involved: 1) Login to NSX-T  Edge node using CLI from admin credentials. 2) Use of  " get support-bundle " for Log extraction. get support-bundle command will extract the complete logs from NSX-T manager/Edge nodes. nsx-manager-1> get support-bundle file support-bundle.tgz 3) Last step is to us e of " copy file support-bundle.tgz url " command. copy file will forward your collected logs from the NSX-T manager to the destination(URL) host from where you can download the logs. copy file support.bundle.tgz url scp://root@192.168.11.15/tmp Here, the URL specified is the ESXi host ( 192.168.11.15) under /tmp partition where logs will be copied and from there one can extract it for further log review. Happy Learning.  :)