Categories: PowerShellScripts

Powershell: List all VMs with Datastore

Script to list all the VMs that exist within your vCenter Server with their datastore.

Param(
  [string]$vcServer
)
cls
if (!$vcServer) {Write-Host "No vCenter Server Specified"; exit}
Add-PSSnapin VMware.VimAutomation.Core
$host.ui.rawui.WindowTitle="PowerShell [PowerCLI Module Loaded]"

Connect-VIServer $vcServer

$aDatastoreVM = Get-Datacenter | Get-Datastore | Foreach-Object {
$ds = $_.Name
$_ | Get-VM | Select-Object Name,@{n='DataStore';e={$ds}},VMHost, PowerState, Version, Folder
}

$aDatastoreVM | Export-Csv "D:\scripts\datastore-output.csv" -NoTypeInformation -UseCulture
Disconnect-VIServer $vcServer
TomLasswell

Share
Published by
TomLasswell

Recent Posts

Autotask: PowerShell: Enable Client Portal for all users

This is a quick one, it's been forever since I've posted here. After moving back…

2 years ago

PowerShell :: Get Exchange Mailboxes Over XXGB

Simple command turned crazy. I ended up coming up with this due to the fact…

3 years ago

PowerShell: ConnectWise Documents API, Uploading a document or attachment to a ticket

Phew, this one took a minute to figure out. ConnectWise has a form based documents…

5 years ago

PowerShell: ConnectWise REST API Query Contacts by Email Address

I've found myself at a new job, recreating many of the processes that I spent…

5 years ago

First post in a long time — changing hosting providers

Wow, it's been a while since I've done a real post on this site. I've…

6 years ago

Powershell: AutoTask – Get Picklist Values

When using AutoTask's API it's required to lookup a various amount of picklist values that…

9 years ago