自定义PowerShell Cmdlet不接受变量

时间:2011-10-02 14:02:18

标签: powershell cmdlets

我有一个自定义PowerShell cmdlet,其中一个输入属性具有以下属性。该属性是float类型的get / set。我希望能够为此属性提供浮点值或变量。

[Parameter(
ValueFromPipeline=true,
ValueFromPipelineByPropertyName = true,
Mandatory = true)]
public float MyProperty
{
    get { return _myProp; }
    set { _myProp = value; }
}

在我的脚本中声明和分配变量会导致以下错误。

[float]$r=0.05
--or--
$r=0.05



  PS C:>get-mycmdlet

  cmdlet Get-mycmdlet at command pipeline position 1
  Supply values for the following parameters:
  (Type !? for Help.)
  myPropperty: $r
  Cannot recognize "$r" as a System.Single due to a format error.
  myProperty:

我的PS cmdlet需要什么才能让它接受我的变量? 感谢

1 个答案:

答案 0 :(得分:3)

如果在命令行中指定参数,这应该可以正常工作,即:

get-mycmdlet -MyProperty $r

我认为交互式提示不接受变量。