如何为Powershell指定启动方法

时间:2016-03-03 14:45:28

标签: function powershell startup

我编写了一个Powershell脚本,在控制台上,我通常指定启动脚本执行的启动函数。但我希望脚本本身应该指定启动函数,例如My-Function本身,以便在运行脚本时开始执行。即只需键入脚本名称并输入..> myscript.ps1,就应该从My-Function开始执行。我如何在脚本中指定启动功能?

1 个答案:

答案 0 :(得分:0)

如上所述,您可以将该代码移出函数(我实际上通常不会建议)或者只是立即调用该函数:

function MyFunc {
    # stuff
}

MyFunc

PowerShell并没有一个入口点的概念,如果这是你正在考虑的事情。

一种更通用的解决方案,您可能希望指定一个函数作为脚本中的参数调用但具有默认值,您可以使脚本将函数名称作为具有默认值的参数。

剧本的顶部:

[CmdletBinding()]
param(
    $FunctionName = 'Func1'
)

function Func1 {
    # does stuff
}

function Func2 {
    # does other stuff
}

Invoke-Expression -Command $FunctionName

我不是很喜欢这个。并且它很危险(任何作为函数名称传入的PowerShell代码都将被执行)。