在调用Powershell Cmdlet之间保持状态的最佳实践是什么?

Rob*_*nHu 7 c# powershell cmdlets

我是Powershell开发的新手,我正在尝试用C#编写一个Powershell Cmdlet,它将用作REST API的接口.

我想有一些设置Cmdlet,用户将被提示输入REST API的Uri,用户名和密码,然后调用Cmldlets,如Get-Item,而不必输入这些参数.非常类似于Powershell的Azure提供程序,您可以通过调用Select-AzureSubscription设置当前订阅,然后再调用Save-AzureVhd而无需再输入订阅名称.

在不同Cmdlet的调用之间保持状态的最佳实践是什么?

编辑:我不确定这是解决它的最佳方法,但我所做的是我添加了一个保持状态的单例类.我有一个Cmdlet,Select-Project -Name MyProject在我的单例类中设置公共属性,然后我的其他Cmdlet可以访问该属性.

mjo*_*nor 1

如果它们运行的​​是 V3 或更高版本,您可以让安装程序在 $PSDefaultParameterValues 中设置这些值。

看:

get-help about_parameters_default_values
Run Code Online (Sandbox Code Playgroud)

有关设置值的详细信息。