PowerShell 技能连载 - 脚本模块化设计
模块化基础
1 | # 函数封装示例 |
应用场景
自动化脚本包:
1
2
3
4
5# 模块目录结构
MyModule/
├── Public/
│ └── Get-SystemHealth.ps1
└── MyModule.psd1模块分发使用:
1
2
3# 安装模块
Copy-Item -Path ./MyModule -Destination $env:PSModulePath.Split(';')[0] -Recurse
Import-Module MyModule
最佳实践
分离公共/私有函数
实现模块帮助文档
版本控制规范:
1
2
3
4
5
6# 模块清单配置
@{
ModuleVersion = '1.2.0'
FunctionsToExport = @('Get-SystemHealth')
RequiredModules = @('PSScriptAnalyzer')
}依赖管理:
1
2
3# 需求声明
#Requires -Modules @{ModuleName='Pester';ModuleVersion='5.3.1'}
#Requires -Version 7.0
PowerShell 技能连载 - 脚本模块化设计
http://blog.vichamp.com/2024/06/24/powershell-script-modularization/