User Tools

Site Tools


program_lang:powershell_print_vminfo

VMware print VMinfo

#!/usr/bin/pwsh
# 2 args are required: vmname and logfile

    $VMName = $args[0]
    $LOG = $args[1]

    $VMvCenterName = 'vc01.test.lu'
    $VMvCenterUser = 'user.vmw@vsphere.local'
    $VMvCenterPass = 'passwd'

    # Connect to vCenter
    Write-Host "Connecting to vcenter $($VMvCenterName)..."
    try {
        Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -WarningAction SilentlyContinue  -confirm:$false
#       Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false -DefaultVIServerMode Single
#Get-PowerCLIConfiguration
        $VCSession = Connect-VIServer -Server $VMvCenterName -User $VMvCenterUser -Password $VMvCenterPass
    }
    catch {
        write-host "Error to connect to vCenter $VMvCenterName."
        exit -1
    }

$VMinfo = Get-VM $VMName
Write-output "VM_Name:" | Out-File -Append -NoNewline -FilePath .\$LOG
Write-output $VMinfo | ForEach-Object {$_.Name} | Out-File -Append -FilePath .\$LOG
Write-output "VM_Host:" | Out-File -Append -NoNewline -FilePath .\$LOG
Write-output $VMinfo.VMHost | ForEach-Object {$_.Name} | Out-File -Append  -FilePath .\$LOG
Write-output "VM_Uuid:" | Out-File -Append -NoNewline -FilePath .\$LOG
Write-output $VMinfo.ExtensionData.Config.InstanceUuid | Out-File -Append -FilePath .\$LOG
Write-output "VM_Files:" | Out-File -Append -NoNewline -FilePath .\$LOG
Write-output $VMinfo.ExtensionData.Config.Files.VmPathName | Out-File -Append -FilePath .\$LOG

$VMListDisk = Get-HardDisk -VM $VMName

foreach ($VMDisk in $VMListDisk) {
    Write-output "VM_Disk:" | Out-File -Append -NoNewline -FilePath .\$LOG
    Write-output $($VMDisk.Filename) | Out-File -Append -FilePath .\$LOG
}

foreach ($VMDatastore in $VMListDatastore) {
    Write-output "VM_Datastore" | Out-File -Append -NoNewline -FilePath .\$LOG
    Write-output "VM_Datastore":[$($VMDatastore.Name)] $($VMDatastore.DiskUuid.Replace('naa.','')) | Out-File -Append -FilePath .\$LOG
}

Disconnect-VIServer -Server $VMvCenterName -Confirm:$false
program_lang/powershell_print_vminfo.txt · Last modified: 2022/04/07 17:49 by manu