二进制 Powershell 模块 - 从 Powershell 主机获取全局变量的值
Binary Powershell Modules - get the value of a global variable from the Powershell host
如何从用 C# 编写的二进制 Powershell 模块中的 Powershell 主机获取全局变量的值,例如 $ConfirmPreference
?
可以使用PSCmdlet.GetVariableValue(string)
方法:
using System.Management.Automation;
namespace MyModule
{
[Cmdlet(VerbsDiagnostic.Test, "GetVariableValueMethod")]
public class TestGetVariableValueMethod : PSCmdlet
{
protected override void ProcessRecord()
{
ConfirmImpact confirmPref =
(ConfirmImpact)this.GetVariableValue("global:ConfirmPreference");
WriteObject(confirmPref);
}
}
}
在 Powershell 中测试:
PS > Test-GetVariableValueMethod
High
PS > $ConfirmPreference = 'Low'
PS > Test-GetVariableValueMethod
Low
如何从用 C# 编写的二进制 Powershell 模块中的 Powershell 主机获取全局变量的值,例如 $ConfirmPreference
?
可以使用PSCmdlet.GetVariableValue(string)
方法:
using System.Management.Automation;
namespace MyModule
{
[Cmdlet(VerbsDiagnostic.Test, "GetVariableValueMethod")]
public class TestGetVariableValueMethod : PSCmdlet
{
protected override void ProcessRecord()
{
ConfirmImpact confirmPref =
(ConfirmImpact)this.GetVariableValue("global:ConfirmPreference");
WriteObject(confirmPref);
}
}
}
在 Powershell 中测试:
PS > Test-GetVariableValueMethod
High
PS > $ConfirmPreference = 'Low'
PS > Test-GetVariableValueMethod
Low