2016-02-29 230 views
0

我创建了一个PSObject,我想将属性传递给另一个函数,然后它将输出结果,但它不会传递属性。参数没有传递给函数

在下面的代码中,$VMHostObject.NameEnter-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++ 

}

+0

请显示'Enter-CellData'的代码(至少是'Param()'定义以及如何检查'Data'参数是否为空)以及初始化$ VMHostObject的代码。 –

回答

0

伊夫想通了在进入,celldata功能我已经错了的数据类型香港专业教育学院现在已经进入了正确的和属于它的工作原理

param ( [parameter(Mandatory = $true)] [Object]$WorkSheet, [parameter(Mandatory = $true)] [int]$CellRow, [parameter(Mandatory = $true)] [int]$CellColumn, [parameter(Mandatory = $true)] [PsObject]$Data )