Public/Get-SnapshotPoshbot.ps1
function Get-SnapshotPoshbot { <# .SYNOPSIS PoshBot command for list vmware snapshot .EXAMPLE !getsnapshot vm1 'vm2' 'vm 3' #> [PoshBot.BotCommand(CommandName = 'getsnapshot', Permissions = 'snapshot')] [cmdletbinding()] param( [PoshBot.FromConfig('VIServerConfigStore')] [parameter(Mandatory = $true)] [string]$VIServerConfigStore, [parameter(Position = 0, Mandatory = $false, ValueFromRemainingArguments = $true)] [string[]]$vm ) Get-VIServerConfig $VIServerConfigStore | ForEach-Object { Connect-VIServer $_.VIServer -User $_.CredentialUser -Password $(LoadAndUnencryptKey "$($_.Path)\$($_.VIServer)-$($_.CredentialUser).clixml") | Out-Null } $r = Get-VM $vm -ErrorAction SilentlyContinue | Get-Snapshot $r| ForEach-Object { New-PoshBotCardResponse -Title "VM $($_.vm) snapshot:" -Text ($_ | Format-List -Property vm, name | Out-String) } Disconnect-VIServer * -Confirm:$false | Out-Null } |