L'objectif de ce script est de lister les détails des Datastores d'un Cluster
<#
. AUTEUR : Antoine JOVELIN
. FONCTION : Détails des Datastores d'un Cluster
. UTILISATION :
- Lancer le script
#>
cls
# Declaration des fonctions
function vcenter-connect{
$VC = Read-Host -Prompt " Entrer le nom de vCenter "
$cred = Get-Credential
Write-Host;
Write-Host -ForegroundColor cyan "Connexion à vCenter. Merci de patienter..."
Connect-VIServer $VC -Credential $cred
Write-Host;
}
function Get-DatastoreProvisioned {
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline = $true)]
$Name
)
PROCESS {
ForEach ($DS in $Name) {
$Provisioned = ($DS.ExtensionData.Summary.Capacity -
$DS.ExtensionData.Summary.FreeSpace +
$DS.ExtensionData.Summary.Uncommitted) / 1GB
[PSCustomObject]@{
Name = $DS.Name
FreeSpaceGB = [math]::Round($DS.FreeSpaceGB, 2)
CapacityGB = [math]::Round($DS.CapacityGB, 2)
ProvisionedGB = [math]::Round($Provisioned, 2)
UsedPct = [math]::Round((($DS.CapacityGB - $DS.FreeSpaceGB) / $DS.CapacityGB) * 100, 2)
ProvisionedPct = [math]::Round(($Provisioned / $DS.CapacityGB) * 100, 2)
}
}
}
}
function vcenter-disconnect{
Write-Host;
Write-Host -ForegroundColor cyan "Déconnexion de vCenter..."
Disconnect-viserver -Server $Global:DefaultVIServer -Confirm:$false -Force
Write-Host;
}
# Debut du script
vcenter-connect
Write-Host;
Write-Host -fore cyan "
#######################################
# Détails des Datastores d'un Cluster #
#######################################"
Write-Host;
$reponse = Read-Host -Prompt " Entrer le Nom d'un Cluster "
$datastore = get-cluster -name $reponse | Get-Datastore | Get-DatastoreProvisioned
$datastore | sort FreeSpaceGB | ft -AutoSize
Write-Host;
vcenter-disconnect