我有一个脚本,它可以完美运行,并且一切都在电源外壳屏幕“控制台”上显示。但我试图弄清楚如何以CSV格式导出
脚本:
foreach(Get-VDSwitch中的$ vds)
{
$ vds.ExtensionData.Runtime.HostMemberRuntime | %{
$ .HealthCheckResult |其中{$ -是[VMware.Vim.VMwareDVSVlanHealthCheckResult]} |
选择@ {N ='vdSwitch'; E = {$ vds.Name}},
UplinkPortKey,
@ {N ='TrunkedVLAN'; E = {
($ .TrunkedVLAN |%{
if($ .Start -eq $ .End){
“ {0}” -f $ 。开始
}
其他{
“ {0}-{1}” -f $ 。开始,$ 。结束
}
})-join','
}}
}
VsanEnabled:错误 VsanDiskClaimMode:手动 HATotalSlots:3099 HAUsedSlots:22 HAAvailableSlots:1527 HASlotCpuMHz:32 HASlotMemoryMb:328 HASlotMemoryGB:0.3203125 HASlotNumVCpus:1 ParentId:文件夹组h28 ParentFolder:主机 HAEnabled:真 HAAdmissionControlEnabled:True HAFailoverLevel:1 HARestartPriority:中等 HAIsolationResponse:什么都不做 VMSwapfilePolicy:WithVM DrsEnabled:真实 DrsMode:全自动 DrsAutomationLevel:全自动 EVCMode:英特尔-nehalem 名称:mac01dmzp01 CustomFields:{} ExtensionData:VMware.Vim.ClusterComputeResource ID:ClusterComputeResource-domain-c12033 Uid:/VIServer=cn\t175726@mac01vcp02.cn.ca:443/Cluster=ClusterComputeResource-domain-c12033 /
vdSwitch:vds-toronto-mac01-2-ports-10Gbe 上行端口密钥:78 中继VLAN:11-17,396,500
vdSwitch:vds-toronto-mac01-2-ports-10Gbe 上行端口密钥:79 中继VLAN:11-17,396,500
vdSwitch:vds-toronto-mac01-2-ports-10Gbe UplinkPortKey:82 中继VLAN:11-17,396,500
vdSwitch:vds-toronto-mac01-2-ports-10Gbe 上行端口密钥:83 中继VLAN:11-17,396,500
vdSwitch:vds-toronto-mac01-2-ports-10Gbe 上行端口密钥:358 中继VLAN:11-17,396,500
vdSwitch:vds-toronto-mac01-2-ports-10Gbe 上行端口密钥:359 中继VLAN:11-17,396,500
更多......
答案 0 :(得分:0)
我发现使用函数的方法。
#####################################################
# 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