我创建了一个PSObject,我想将属性传递给另一个函数,然后它将输出结果,但它不会传递属性。参数没有传递给函数
在下面的代码中,$VMHostObject.Name
在Enter-CellData
函数中空白,但数据在PSObject中。
`Enter-CellData -WorkSheet $ws1 -CellRow $row -CellColumn $Column -Data $VMHostObject.Name`
$VMHostObject = New-Object -TypeName PSObject -Property @{ "Name" = $h.Name "ID" = $h.Id "HypervisiorName" = $view.Config.Product.Name "HypervisiorVersion" = $view.Config.Product.Version "HypervisiorBuild" = $view.Config.Product.Build "Make" = $view.Hardware.SystemInfo.Vendor "Model" = $view.Hardware.SystemInfo.Model "CPUSocketCount" = $view.Hardware.CPUInfo.numCPUPackages "CPUCoreCount" = $view.Hardware.CPUInfo.numCPUCores "LogicalCPUCount" = $view.Hardware.CPUInfo.numCPUThreads "CPYType" = $view.Hardware.CpuPkg.Discription "Memory" = [math]::Round([math]::Round($h.MemoryTotalGB, 2), 2) "Nics100MB" = $100mbNIC "Nics1GB" = $1GBNIC "Nics10GB" = $10GBNIC "NicsOther" = $otherNIC "DatacenterName" = $DataCenter "ClusterName" = $Cluster }
function Enter-CellData { [CmdLetBinding()] param ( [parameter(Mandatory = $true)] [string]$WorkSheet, [parameter(Mandatory = $true)] [int]$CellRow, [parameter(Mandatory = $true)] [int]$CellColumn, [parameter(Mandatory = $true)] [string]$Data )
$WorkSheet.Cells.Item($CellRow, $CellColumn) = $Data
$script:Column++
}
请显示'Enter-CellData'的代码(至少是'Param()'定义以及如何检查'Data'参数是否为空)以及初始化$ VMHostObject的代码。 –