VMware, выведите проверку работоспособности сети на файл CSV - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть скрипт, он отлично работает, и все отображается на экране Power Console.Но я пытаюсь выяснить, как экспортировать в CSV

Сценарий:

foreach ($ vds в Get-VDSwitch) {$ vds.ExtensionData.Runtime.HostMemberRuntime |% {$ .HealthCheckResult |где {$ -is [VMware.Vim.VMwareDVSVlanHealthCheckResult]} |Выберите @ {N = 'vdSwitch'; E = {$ vds.Name}}, UplinkPortKey, @ {N = 'TrunkedVLAN'; E = {($ .TrunkedVLAN |% {if ($ .Start-eq $ .End) {"{0}" -f $ .Start} else {"{0} - {1}" -f $ .Start, $ .End}}) -join ','
}}}

}

Вывод на экран выглядит следующим образом;

VsanEnabled: False VsanDiskClaimMode: Manual HATotalSlots: 3099HAUsedSlots: 22 HAAvailableSlots: 1527 HASlotCpuMHz: 32 HASlotMemoryMb: 328 HASlotMemoryGB: 0.3203125 HASlotNumVCpus: 1 ParentID: Папка-группа-H28 ParentFolder: хозяин HAEnabled: Истинная HAAdmissionControlEnabled: Истинная HAFailoverLevel: 1 HARestartPriority: Средний HAIsolationResponse: DoNothing VMSwapfilePolicy: WithVM DrsEnabled: True DrsMode: FullyAutomation DrsAutomationLevel: FullyAutomated EVCMode: intel-nehalem Имя: mac01dmzp01 Пользовательские поля: {} ExtensionData: VMware.Vim.ClusterComputeResource Id: ClusterComputeResource-domain-domain-c12033verg: id_3: n3: vc: id_c_c_c_c_c_c_c_c_1:: -ClusterComputeResource-domain-c12033 /

vdSwitch: vds-toronto-mac01-2-ports-10Gbe UplinkPortKey: 78 TrunkedVLAN: 11-17,396,500

vdSwitch: vds-toronto-mac01-2-ports-10Gbe UplinkPortKey: 79 TrunkedVLAN: 11-17,396,500

vdSwitch: vds-toronto-mac01-2-ports-10Gbe UplinkPortKey: 82 TrunkedVLAN: 11-17,396,500

vdSwitch: vds-toronto-mac01-2-ports-10Gbe UplinkPortKey: 83 TrunkedVLAN: 11-17,396,500

vdSwitch: vds-toronto-mac01-2-ports-10Gbe UplinkPortKey: 358 TrunkedVLAN: 11-17,396,500

vdSwitch: vds-toronto-mac01-2-ports-10Gbe UplinkPortKey: 359 TrunkedVLAN: 11-17,396,500

намного больше ......

1 Ответ

0 голосов
/ 20 ноября 2018

Я нашел способ сделать это с помощью функции.

            #####################################################
            #  vSphere 6.5
            #  Get ESX HealthCheck Network Config from VDS
            #
            #  by Gerald Begin (Nov.20 2018)
            #################################

            ##### Set Script Location
            Set-Location T:\___Main-Script___\_VDS-vLANs_

            ##### Add VMWare Module.
            Get-Module -Name VMware* -ListAvailable | Import-Module

            ##### Output Path
            $Desti = 'T:\___Main-Script___\_VDS-vLANs_\Output'

            Import-Module -Name "T:\__Script_Functions__\Connect2All.ps1" -Force:$true      # Function to Connect to ALL vCenters

            $Clster = "mac01dmzp01"

            #### --------------------------------------

            function GetInfo  {
            ###################################################

            foreach($vds in Get-VDSwitch)
                    {
                    $vds.ExtensionData.Runtime.HostMemberRuntime | %{
                    $_.HealthCheckResult | where{$_ -is [VMware.Vim.VMwareDVSVlanHealthCheckResult]} |
                    Select @{N='vdSwitch';E={$vds.Name}},
                        UplinkPortKey,
                        @{N='TrunkedVLAN';E={
                            ($_.TrunkedVLAN | %{
                                if($_.Start -eq $_.End){
                                    "{0}" -f $_.Start
                                }
                                else{
                                    "{0}-{1}" -f $_.Start,$_.End
                                }
                            }) -join ','       
                        }}
                      }
                    }
                                }


            Get-Cluster -Name $Clster | GetInfo | Export-Csv -Path $Desti\Results.csv -NoTypeInformation

            Disconnect-VIServer * -Confirm:$false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...