PoshCode Archive  Artifact Content

Artifact 4aa66c77b3493781e4ed2e0dae41ee2c375c74ab52cb30821e598f23df795966:

  • File mGet-DatastoreList.ps1 — part of check-in [389ccbb881] at 2018-06-10 13:10:27 on branch trunk — A version of the VMware Get-Datastore cmdlet that filters out datastore we don’t want to use for VMs by type of datastore and our naming conventions for the datastore naming indicating what kind of data is on the datastore. Line 9 will have to be updated for your own environment. (user: monahancj size: 1366)

# encoding: ascii
# api: powershell
# title: mGet-DatastoreList
# description: A version of the VMware Get-Datastore cmdlet that filters out datastore we don’t want to use for VMs by type of datastore and our naming conventions for the datastore naming indicating what kind of data is on the datastore.  Line 9 will have to be updated for your own environment.
# version: 0.1
# type: function
# author: monahancj
# license: CC0
# function: mGet-DatastoreList
# x-poshcode-id: 2448
# x-archived: 2014-02-09T10:28:02
# x-published: 2011-01-07T12:24:00
#
#
Function mGet-DatastoreList {
#Parameter- Name of the VMware cluster to choose a datastore from.
param($Cluster)

#get alphabetically last ESX host in the VMware cluster (it's likely the last host added to the cluster, so this might smoke out any problems)
$VMH = get-vmhost -Location $cluster | Where-Object { ($_.ConnectionState -eq "Connected") -and ($_.PowerState -eq "PoweredOn") } | Select-Object -Property Name | Sort-Object Name | Select -Last 1 -Property Name

# Get all the datastores, filtered for exclusions
$DSTs = Get-Datastore -VMHost $VMH.Name | Where-Object { ($_.Type -eq "VMFS") -and ($_.Name -notmatch "local") -and ($_.Name -notmatch "iso") -and ($_.Name -notmatch "template") -and ($_.Name -notmatch "CLD") -and ($_.Name -notmatch "TRX") }

Write-Output $DSTs
}