update
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
A short one-line action-based description, e.g. 'Tests if a function is valid'
|
||||
.DESCRIPTION
|
||||
Create a new snapshot of a VMware Virtual Machine
|
||||
.NOTES
|
||||
Create a new snapshot of a VMware Virtual Machine
|
||||
.LINK
|
||||
Specify a URI to a help page, this will show when Get-Help -Online is used.
|
||||
.EXAMPLE
|
||||
New-ITDVMwareVMSnapshot -VMName itdwinautot1.nd.gov -Name "Before Upgrade to 7.0U3k" -Description "Before Upgrade, delete after 3/3/2023"
|
||||
#>
|
||||
|
||||
function New-ITDVMwareVMSnapshotV3 {
|
||||
[CmdletBinding()]
|
||||
param (
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string[]]
|
||||
$VMName,
|
||||
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]
|
||||
$Name,
|
||||
|
||||
[string]
|
||||
$Description,
|
||||
|
||||
[switch]
|
||||
$Memory
|
||||
)
|
||||
|
||||
begin {
|
||||
}
|
||||
|
||||
process {
|
||||
ForEach ($VName in $VMName) {
|
||||
$VM = Get-VM -Name $VName | Where-Object { $_.ExtensionData.summary.config.ManagedBy.Type -ne "placeholderVm" }
|
||||
|
||||
$NewSnapshotParams = @{
|
||||
Name = $Name;
|
||||
RunAsync = $true;
|
||||
}
|
||||
switch ($PSBoundParameters.Keys) {
|
||||
Description {
|
||||
$NewSnapshotParams.Description = $Description
|
||||
}
|
||||
Memory {
|
||||
$NewSnapshotParams.Memory = $Memory;
|
||||
$NewSnapshotParams.RunAsync = $false;
|
||||
}
|
||||
}
|
||||
|
||||
$NewSnapshotParams
|
||||
$VM | New-Snapshot @NewSnapshotParams
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user