Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $vms = Get-AzureVM -ServiceName mycloudservicenamehere
- foreach($vm in $vms) {
- #get-azurevm
- $obj1 = $vm | Select-Object Name,InstanceSize,AvailabilitySetName,DNSName,deploymentname
- #get VM Data disk, rename same properties to prevent output conflicts
- $obj2 = $vm | Get-AzureDataDisk | Select-Object @{Name='DataDiskName'; Expression={$_.DiskName}},@{Name='DataDiskLabel'; Expression={$_.DiskLabel}},@{Name='DataMediaLink'; Expression={$_.MediaLink}},@{Name='DataDiskSizeGB'; Expression={$_.LogicalDiskSizeInGB}},@{Name='DataLUN'; Expression={$_.Lun}}
- #same as above VM data disk, but with OS disk
- $obj3 = $vm | Get-AzureOSDisk | Select-Object @{Name='OSDiskName'; Expression={$_.DiskName}},@{Name='OSMediaLink'; Expression={$_.MediaLink}},@{Name='OSDiskLabel'; Expression={$_.DiskLabel}}, OS
- #combine these outputs into a single row CSV per VM
- $combined = New-Object -TypeName PSObject
- $obj1,$obj2,$obj3|%{
- $CurObj = $_;
- $_|gm|?{$_.MemberType -match "NoteProperty"}|%{
- $NewMember = $_.Name;
- $Combined|Add-Member -MemberType NoteProperty -Name $NewMember -Value $CurObj.$NewMember
- }
- }
- #write each VM output to CSV
- $Combined|Export-CSV -Path c:\Users\administrator\Desktop\output.csv -NoTypeInfo -Append -Force
- }
Advertisement
Add Comment
Please, Sign In to add comment