从 Powershell 脚本内部调用函数

从 Powershell 脚本内部调用函数

现在我正在学习Powershell 应用程序部署工具包。PSADT 用于软件部署,以便更好地控制软件的(静默)安装、(静默)卸载和修复。要按预期工作,它需要特定的目录结构,如下所示:

Source
│   Deploy-Application.exe
│   Deploy-Application.exe.config
│   Deploy-Application.ps1
├───AppDeployToolkit
│       AppDeployToolkitBanner.png
│       AppDeployToolkitConfig.xml
│       AppDeployToolkitExtensions.ps1
│       AppDeployToolkitHelp.ps1
│       AppDeployToolkitLogo.ico
│       AppDeployToolkitMain.cs
│       AppDeployToolkitMain.ps1
├───Files
│       installer.msi
└───SupportFiles
        info.txt
  • Deploy-Application.ps1是你放的地方你自己的逻辑
  • 存储AppDeployToolkitMain.ps1工具包功能。
  • 您可以从内部Deploy-Application.ps1调用在中声明的所有函数AppDeployToolkitMain.ps1
  • 您可以通过AppDeployToolkitHelp.ps1概要(语法等)概览所有可用的命令。

为了调试,我想在AppDeployToolkitMain.ps1普通的 powershell 中尝试所有命令。我知道我可以复制出每个函数并创建一个新的.ps1文件,但这似乎太麻烦了。而且我认为有些函数相互依赖,所以我不得不复制或通读所有内容。

有没有办法导入AppDeployToolkitMain.ps1,以便我可以尝试每个功能?

答案1

如果你希望在一个脚本中包含另一个脚本中的函数,请参阅 第 10 章-脚本模块

该函数需要加载到全球的范围。这可以通过对包含该函数的脚本进行点源化来实现。可以使用相对路径。

. .\Get-MrPSVersion.ps1

也可以使用完全限定路径。

. C:\Demo\Get-MrPSVersion.ps1

相关内容