如何创建具有多个功能的PowerShell模块
在这篇博文中,我将通过示例向您展示如何创建具有多个功能的模块。你会发现这不是火箭科学。让我们开始吧。
为了在模块中使用多个函数,我们必须将它们声明为要导出的函数。这也意味着我们需要一个包含该语句的模块清单文件。
客观的
本教程的目标是在名为 Patrick 的模块中提供两个函数。这两个函数称为Get-SmallFiles 和Get-BigFiles。
创建模块文件夹“Patrick”
首先,我们需要创建一个模块文件夹。我们可以在三个文件夹路径之间进行选择。我将选择第一个选项,然后在 C:\Program Files\Windows PowerShell 中创建该文件夹,这意味着该模块将可供所有用户使用。
这是我的文件夹“Patrick”的代码。
New-Item -Path ($env:PSModulePath -split ';')[0] -ItemType Directory -Name Patrick
现在我们在模块文件夹中有一个文件夹!
创建模块清单文件“patrick.psd1”
如前所述,我们需要一个 psd1 文件作为我们的清单文件。我们提供了所需的所有信息,特别是两个函数:Get-SmallFiles 和 Get-BigFiles。
$paramHash = @{
Path = 'C:\Program Files\WindowsPowerShell\Modules\Patrick\patrick.psd1'
RootModule = "patrick.psm1"
Author = "Patrick Gruenauer"
CompanyName = "sid-500.com"
ModuleVersion = "1.0"
Guid = '56f62aec-33ca-4d8a-8685-c6a87ac9a002'
PowerShellVersion = "5.1"
Description = "Testmodul"
FormatsToProcess = ""
FunctionsToExport = @('Get-BigFiles', 'Get-SmallFiles')
AliasesToExport = ""
VariablesToExport = ""
CmdletsToExport = ""
}
New-ModuleManifest @paramHash
让我们继续创建 PowerShell 模块文件。
使用两个函数创建 PowerShell 模块文件 (psm1):Get-SmallFiles 和 Get-BigFiles
接下来,我们配置 PowerShell 模块文件及其中的所有函数,在我的例子中是 Get-SmallFiles 和 Get-BigFiles。
New-Item -Path 'C:\Program Files\WindowsPowerShell\Modules\Patrick' -ItemType File -Name patrick.psm1
文件为空。让我们在其中添加一些内容。
Add-Content -Path 'C:\Program Files\WindowsPowerShell\Modules\Patrick\patrick.psm1' `
-Value 'function Get-BigFiles {Get-ChildItem -Path $home -File -Recurse | Where-Object Length -gt (1MB)};
function Get-SmallFiles {Get-ChildItem -Path $home -File -Recurse | Where-Object Length -lt (1MB)}'
任务完成。
你怎么知道这有效?
打开 PowerShell 5 或 PowerShell 7。
键入 Get-Smallfiles,然后键入 Get-BigFiles。
希望这有用。下次见。

