2016-02-29 216 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 )