Try like this
You can schedule this to run on the 1st, 7th, 14th, 21st and 28th.
$vmName = 'MyVM'
$vm = Get-VM -Name $vmName
New-Snapshot -VM $vm -Name "Snap from $(Get-Date -Format 'yyyy-MM-dd-HH:mm:ss')"
$snaps = Get-Snapshot -VM $vm
if($snaps.Count -ge 2){
$snaps | Sort-Object -Property Created -Descending | Select-Object -Skip 2|
Remove-Snapshot -Confirm:$false
}