变量在函数名中实现

时间:2018-02-07 11:55:38

标签: function powershell variables active-directory

由于我无法在任何地方找到问题的解决方案,我会在这里问: 基本上,我正在尝试为AD创建一个基本函数,其中我在函数名称中有一个变量 - 在我的例子中,它是这个:

"Get-AD$FilterItem"

其中$FilterItem是用户,计算机,组等,所以我不必为每个AD项目提供相同的功能。

但是我无法让它工作,它总是给我

  

...:无法识别“get-ad $ filteritem”一词......

该怎么办?

2 个答案:

答案 0 :(得分:2)

您可以为函数提供程序创建New-Item。你最好还创建一个闭包而不是简单的脚本块,这样你就可以在函数中使用该值:

$x = "Foo"
New-Item -Path Function: -Name "Shout$x" -value { write-host "$x" }.GetNewClosure()
$x = "Bar"
New-Item -Path Function: -Name "Shout$x" -value { write-host "$x" }.GetNewClosure()
ShoutFoo
ShoutBar

答案 1 :(得分:1)

快速回复

$i="user"
$f="get-ad$i"
&$f username