VMware Cloud Community
Hetfield84
Enthusiast
Enthusiast

Retrieve creator of Snapshot

Hi,

I'm writing a script that'll pull all of the snapshots which are 7 days or older from our VMs using Get-Snapshot. I am able to get everything I need except for who created the snapshot. How can I determine which user created it? 

My code is below:

$gDate = (Get-Date).adddays(-7).ToString('MM/dd/yy')
$servers = Get-VM "srvName" | Select Name
 
ForEach ($srv in $servers){
    $vm = $srv.Name
    $snp = Get-Snapshot -VM $vm | Where {$_.Created -le $gDate}
    $snpName = $snp.Name
    $snpDate = $snp.Created
    $snpCreatedBy = $snp.Creator
    $snpDes = $snp.Description
    
    write-host $snpCreatedBy
 
    $obj = New-Object PSObject 
        $obj | add-member Noteproperty "SnapShot Date" $snpDate
        $obj | add-member Noteproperty "VM" $vm
        $obj | add-member Noteproperty "Snapshot Name" $snpName
$obj | add-member Noteproperty "Description" $snpDes
        $obj | add-member Noteproperty "Created By" $snpCreatedBy
 
}

$gDate = (Get-Date).adddays(-7).ToString('MM/dd/yy')

$servers = Get-VM "srvName" | Select Name

ForEach ($srv in $servers){

    $vm = $srv.Name

    $snp = Get-Snapshot -VM $vm | Where {$_.Created -le $gDate}

    $snpName = $snp.Name

    $snpDate = $snp.Created

    $snpCreatedBy = $snp.Creator

    $snpDes = $snp.Description

    $obj = New-Object PSObject 

        $obj | add-member Noteproperty "SnapShot Date" $snpDate

        $obj | add-member Noteproperty "VM" $vm

        $obj | add-member Noteproperty "Snapshot Name" $snpName

$obj | add-member Noteproperty "Description" $snpDes

        $obj | add-member Noteproperty "Created By" $snpCreatedBy

}

0 Kudos
1 Reply
LucD
Leadership
Leadership

Have a look at Re: Snapshot Report Including Snap Owner/Creator


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

0 Kudos