Powershell 如何通过管道将参数传递给不使用';不接受管道输入?
我有一个包含用户身份列表的文本文件。我想传递该列表中的每个成员,以获取csMeetingMigrationStatus并返回UserPrincipalName、Status和LastMessage。从那里我想输出到gridview,作为对迁移状态的观察测试 我想在一条管道中完成这项工作,但无法完成。我知道Get-csMeetingMigrationStatus不会将管道输入作为其参数标识,因此我必须使用另一种方法将该参数传递给函数。我以前做过类似的事情,我想知道用户列表是从文本文件导入的,而不是从头创建的数组,这是否是原因 我需要尽快让它工作,所以我想我应该把它放在一个foreach循环中,如下所示。我知道下面的示例并没有给出我想要的所有输出,但即使下面的示例也失败了Powershell 如何通过管道将参数传递给不使用';不接受管道输入?,powershell,microsoft-teams,skype-for-business,Powershell,Microsoft Teams,Skype For Business,我有一个包含用户身份列表的文本文件。我想传递该列表中的每个成员,以获取csMeetingMigrationStatus并返回UserPrincipalName、Status和LastMessage。从那里我想输出到gridview,作为对迁移状态的观察测试 我想在一条管道中完成这项工作,但无法完成。我知道Get-csMeetingMigrationStatus不会将管道输入作为其参数标识,因此我必须使用另一种方法将该参数传递给函数。我以前做过类似的事情,我想知道用户列表是从文本文件导入的,而不是
$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