46 lines
1.2 KiB
PowerShell
46 lines
1.2 KiB
PowerShell
Param(
|
|
[Parameter(Mandatory = $true, ParameterSetName = 'VMName')]
|
|
[string[]]
|
|
$VMName,
|
|
|
|
[Parameter(Mandatory = $true, ParameterSetName = 'NewBuilds')]
|
|
[switch]
|
|
$NewBuilds,
|
|
|
|
[Parameter(Mandatory = $true, ParameterSetName = 'All')]
|
|
[switch]
|
|
$All
|
|
)
|
|
|
|
Write-Verbose -Message "Connect to vCenter" -Verbose
|
|
Connect-ITDvCenter -Credential $Secret:ndgov_svcitdvmvcauto
|
|
|
|
switch ($PSCmdlet.ParameterSetName) {
|
|
'VMName' {
|
|
Write-Verbose -Message "Parameter Set VMName" -Verbose
|
|
$VMs = Get-VM -Name $VMName
|
|
}
|
|
'NewBuilds' {
|
|
Write-Verbose -Message "Parameter Set NewBuilds" -Verbose
|
|
$VMs = Get-Folder -Name "_New Builds" | Get-VM
|
|
}
|
|
'All' {
|
|
Write-Verbose -Message "Parameter Set All" -Verbose
|
|
$VMs = Get-VM | Where-Object CreateDate -lt ((Get-Date).AddDays(-2))
|
|
}
|
|
}
|
|
|
|
ForEach($VM in $VMs){
|
|
try{
|
|
Write-Verbose -Message ("Start " + $VM.Name) -Verbose
|
|
Get-VM -Name $VM.Name | Select Uid
|
|
Move-ITDVMwareVMToAppNameFolder -VMName $VM.Name -ErrorAction Stop -Verbose
|
|
}
|
|
catch {
|
|
$error[0]
|
|
}
|
|
}
|
|
|
|
|
|
Write-Verbose -Message "Disconnect from vCenter" -Verbose
|
|
Disconnect-ITDvCenter |