我創建了一個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的代碼。 –