powershell - 如何在管道上的cmdlet之间传递常用的Powershell命令行参数?

标签 powershell powershell-2.0 cmdlets cmdlet

假设我有两个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/

相关文章:

powershell - 如何在powershell脚本中添加凭据,以便当我运行脚本时它不会要求输入密码,我不希望在脚本中看到密码

powershell - 有没有办法引用先前输入的命令的倒数第二个单词(例如 $^ 代表第一个单词, $$ 代表最后一个单词)

powershell - 如何将参数类型转换为不同的对象类型

powershell - 查找角色位置并更新文件名

powershell - 记录 Powershell 模块和脚本

c++ - powershell 使用结构类型参数调用 C++ dll 的导出函数

powershell - 如何删除文件夹中除只读文件外的所有文件?

powershell - 您最喜欢的 Powershell Cmdlet 是什么?

powershell - 调用自定义 cmdlet 不起作用?