You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询PowerShell中自定义cmdlet所在的源文件路径

定位自定义cmdlet源文件的方法

PowerShell内置了原生命令可以直接查询已加载cmdlet的来源,不需要手动排查profile中引用的所有脚本文件。

直接获取源文件路径

针对你举例的Get-UserExpiry场景,执行下面一行命令就能直接返回该cmdlet存储的脚本完整路径:

(Get-Command Get-UserExpiry).ScriptBlock.File

只要这个cmdlet已经在当前PowerShell会话中加载完成,不管它是直接写在Microsoft.PowerShell_profile.ps1里,还是profile通过dot-source方式引用的其他任意路径(包括网络共享路径)的脚本里定义的,这条命令都能准确定位到对应的源文件,比如你举例的场景就会直接返回C:\User\Name\Documents\CustomCmds.ps1。

扩展查询用法

  • 如果需要查看cmdlet的完整定义、参数、实现代码等全量信息,可以直接格式化输出Get-Command的返回结果:
    Get-Command Get-UserExpiry | Format-List *
    
    返回结果中的File字段就是源文件路径,Definition字段会展示该cmdlet的完整实现代码。
  • 如果记不清cmdlet的完整名称,可以用通配符做模糊匹配:
    # 匹配所有名称包含UserExpiry的已加载命令
    Get-Command *UserExpiry*
    

补充说明

这个查询方式对所有已加载的PowerShell命令生效:不管是内置cmdlet、通过模块安装的命令、还是自定义脚本里定义的函数都可以查询。如果查询的是编译生成的二进制cmdlet(比如打包为dll的模块),返回的路径就是对应dll文件的存储路径。

内容的提问来源于stack exchange,提问作者SecretReptoid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:01:20