配置文件中定义的Powershell函数



我在"profile.ps1";

在powershell启动并正常工作时加载

如何从Powershell中获取该函数的定义路径
通常我会用

(Get-Command -commandtype function -name **GreatFunction1**).Module

但在这种情况下,它返回$null,所以我无法从这里获得路径
?还有别的办法吗
我需要知道加载了什么函数的文件的路径。。。

尝试`${function:GreatFunction1}。文件这应该会为您提供函数来自的完整路径

https://stackoverflow.com/a/16008967/13160707

根据@nikkelly在他们的回答中提到的内容并将其推广,您可以通过首先访问函数的ScriptBlock属性,然后访问ScriptBlock的File属性来实现这一点。

这里有两个等价的例子:

(Get-ChildItem Function: | Where-Object Name -like "**GreatFunction1**").ScriptBlock.File
(Get-Command -CommandType Function -Name **GreatFunction1**).ScriptBlock.File

最新更新