是否可以通过管道从PowerShell提供外部命令?例如,我可以执行Get-ADMember abc123 | net user /domain $_.samaccountname
之类的操作吗?我知道还有其他方法可以让它工作,我只想关注PowerShell和外部命令之间的通信。
答案 0 :(得分:1)
是的,就像那样。 CMD中的管道和大多数shell只是文本,而$_.samaccountname
是一个字符串。
你的榜样非常接近。您所缺少的只是调用Foreach-Object
,进行迭代并填充$_
变量。
get-admember abc123 | foreach { net user /domain $_.samaccountname }
管道实际上并没有以任何特殊方式“链接”。此命令只是扩展变量并将其作为命令行参数传递给net.exe
程序。