I guess you should get this information by interacting directly with vmWare API.
Yes, powerCLI seems to be the way to get the information. However, I was trying to create a secondary disk that would be added to the VM post-provisioning. The secondary disk would be sized based on user input ( CLM ). So this is what I did
First I created a component template that contains "Hard Disk 1" and parameterized the path to referenece a local property. Then the script went something like this...
1 - Identifiy the vCenter server hosting the VM in question
2 - Add local property instance to the component template
3 - Run a discovery on the component template
4 - Create a BLPackage from the newly discovered component
5 - Export the BLPackage
6 - Manipulate the bldeploy.xml file to change the Name of the disk and the VMDK file name
7 - import the bldeploy.xml file to a new BLPackage
8 - Deploy the new BLPackage to the vCenter server
This basically creates a secondary disk on the same VM Datastore that the original VM resides on.