Powershell 如何通过管道将参数传递给不使用';不接受管道输入?

Powershell 如何通过管道将参数传递给不使用';不接受管道输入?,powershell,microsoft-teams,skype-for-business,Powershell,Microsoft Teams,Skype For Business,我有一个包含用户身份列表的文本文件。我想传递该列表中的每个成员,以获取csMeetingMigrationStatus并返回UserPrincipalName、Status和LastMessage。从那里我想输出到gridview,作为对迁移状态的观察测试 我想在一条管道中完成这项工作,但无法完成。我知道Get-csMeetingMigrationStatus不会将管道输入作为其参数标识,因此我必须使用另一种方法将该参数传递给函数。我以前做过类似的事情,我想知道用户列表是从文本文件导入的,而不是

我有一个包含用户身份列表的文本文件。我想传递该列表中的每个成员,以获取csMeetingMigrationStatus并返回UserPrincipalName、Status和LastMessage。从那里我想输出到gridview,作为对迁移状态的观察测试

我想在一条管道中完成这项工作,但无法完成。我知道Get-csMeetingMigrationStatus不会将管道输入作为其参数标识,因此我必须使用另一种方法将该参数传递给函数。我以前做过类似的事情,我想知道用户列表是从文本文件导入的,而不是从头创建的数组,这是否是原因

我需要尽快让它工作,所以我想我应该把它放在一个foreach循环中,如下所示。我知道下面的示例并没有给出我想要的所有输出,但即使下面的示例也失败了

$UserDetails = Get-Content -path c:\test.txt
foreach ($ud in $UserDetails) {
        Get-csMeetingMigrationStatus -identity $ud | Select-Object Userprincipalname, status, lastmessage
}
当我运行上述命令时,第一个标识的返回值是我的connect MicrosoftTeam连接的属性头。 后续迭代返回一个空行。对于foreach循环的每次迭代,如果我将foreach语句中的命令复制并粘贴到终端窗口并运行它,则会显示每个用户的正确信息。我不明白怎么会这样

最终,我希望将所有这些都放到一个管道中,并输出到gridview

如果有人能帮我解决以上任何一个问题,我将不胜感激,因为我已经尝试了好几个小时来解决这个问题,但找不到解决方案

谢谢

使用:

将管道嵌套在
ForEach对象中
意味着我们可以为另一个下游cmdlet(在本例中为
Out-GridView
)提供由它生成的任何输出(与
ForEach(){}
循环语句不同)

使用:

将管道嵌套在
ForEach对象中
意味着我们可以提供另一个下游cmdlet(在本例中为
Out-GridView
)及其生成的任何输出(与
ForEach(){}
循环语句不同)

Get-Content -path c:\test.txt |ForEach-Object {
    Get-CsMeetingMigrationStatus -identity $_ | Select-Object Userprincipalname, status, lastmessage
} |Out-GridView