假设我有两个cmdlet,分别是“new-foo”和“do-bar”。两个cmdlet都需要向服务进行身份验证才能执行其操作,而'do-bar'需要一个foo。今天,我可以做:
new-foo -host localhost -username user -password password -whateverOtherArgs
我可以:
do-bar -host localhost -username user -password password -foo myFoo
我什至可以将它们通过foo链接到管道上,例如:
new-foo <blah blah> | do-bar -host localhost -username user -password password
但是我不知道如何传递通用参数,例如服务位置和管道元素之间的凭据。如果我将一堆cmdlet链接在一起,我只想在第一时间通过凭据,然后将其重新用于管道的其余部分。
我想念的东西似乎应该很明显...
最佳答案
您可以让New-Foo吐出一个对象,该对象包含do-bar感兴趣的原始对象以及服务位置和凭据(作为属性)。接受此对象作为参数,然后在用户不提供ServiceLocation或Credential参数的情况下,提取所需的数据。
关于powershell - 如何在管道上的cmdlet之间传递常用的Powershell命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2119741/