Powershell无法将对象传递给函数

时间:2014-10-23 22:07:32

标签: powershell msmq

我无法将[System.Messaging.Message]类型的对象传递到我的脚本中的函数中。

e.g。 (代码概要)

function global:CopyQueue() {

    $vTotalCountInMSMQ = $global:qSource.GetAllMessages()
    foreach ($msg in $vTotalCountInMSMQ)
    {
        ReadAndCopyMessage $destinationQueue ([REF]$msg)  
    }
 }

目标函数:

function global:ReadAndCopyMessage($destinationQueueName, [REF]$message)
{ 
      $message = $message.BodyStream.Position

      .etc.....
}

无法访问属性(在此对象上找不到属性'位置'确保它存在且可设置。)。但是,如果此代码在CopyQueue函数中运行,则一切都按预期工作。

我无法将其外包并将$ msg对象处理出来。

感谢您的提前帮助

类似的问题没有成功:

1 个答案:

答案 0 :(得分:0)

您似乎不应再使用[REF]了。此外,我必须在参数之前产生共同的“,”错误,因此它不起作用。

上面的代码没有[REF]

就可以正常工作

呼叫:

ReadAndCopyMessage $destinationQueue $msg

功能:

function global:ReadAndCopyMessage($destinationQueueName, $message)