Integration

Table Of Contents
$PoolSettings = (Get-Pool -pool_id $Pool)
$datastores = $PoolSettings.datastorePaths + ";$Datastore"
Update-AutomaticPool -pool_id $Pool -datastorePaths $datastores
}
Define a PowerShell function to remove a datastore from an automatic pool.
# RemoveDatastoreFromAutomaticPool
# Parameters
# $Pool Pool ID of pool to be updated.
# $Datastore Full path to datastore to be removed.
function RemoveDatastoreFromAutomaticPool
{ param ($Pool, $Datastore)
$PoolSettings = (Get-Pool -pool_id $Pool)
$currentdatastores = $PoolSettings.datastorePaths
$datastores = ""
foreach ($path in $currentdatastores.split(";")){
if(-not ($path -eq $Datastore)){
$datastores = $datastores + "$path;"
}
}
Update-AutomaticPool -pool_id $Pool -datastorePaths $datastores
}
The PowerShell functions in the following example add and remove a datastore for a linked-clone pool.
# AddDatastoreToLinkedClonePool
# Parameters
# $Pool Pool ID of pool to be updated.
# $Datastore Full path to datastore to be added.
function AddDatastoreToLinkedClonePool
{ param ($Pool, $Datastore)
$PoolSettings = (Get-Pool -pool_id $Pool)
$datastores = $PoolSettings.datastoreSpecs + ";$Datastore"
Update-AutomaticLinkedClonePool -pool_id $Pool -datastoreSpecs $datastores
}
Define a PowerShell function to remove a datastore from a linked-clone pool.
# RemoveDatastoreFromLinkedClonePool
# Parameters
# $Pool Pool ID of pool to be updated.
# $Datastore Full path to datastore to be removed.
function RemoveDatastoreFromLinkedClonePool
{ param ($Pool, $Datastore)
$PoolSettings = (Get-Pool -pool_id $Pool)
$currentdatastores = $PoolSettings.datastoreSpecs
$datastores = ""
foreach ($spec in $currentdatastores.split(";")){
$path = $spec.split("]")[1]
$pathToRemove = $Datastore.split("]")[1]
if(-not $pathToRemove){
Chapter 3 Using View PowerCLI
VMware, Inc. 49