[玩转系统] 如何编写 PowerShell 脚本模块
作者:精品下载站 日期:2024-12-14 02:47:55 浏览:12 分类:玩电脑
如何编写 PowerShell 脚本模块
脚本模块是保存在 .psm1
扩展名中的任何有效 PowerShell 脚本。此扩展允许 PowerShell 引擎在您的文件上使用规则和模块 cmdlet。大多数功能都可以帮助您在其他系统上安装代码以及管理范围。您还可以使用模块清单文件,它描述了更复杂的安装和解决方案。
编写 PowerShell 脚本模块
要创建脚本模块,请将有效的 PowerShell 脚本保存到 .psm1
文件中。脚本和存储它的目录必须使用相同的名称。例如,名为 MyPsScript.psm1
的脚本存储在名为 MyPsScript
的目录中。
模块的目录需要位于 $env:PSModulePath
中指定的路径中。模块的目录可以包含运行脚本所需的任何资源,以及向 PowerShell 描述模块如何工作的模块清单文件。
创建基本的 PowerShell 模块
以下步骤描述了如何创建 PowerShell 模块。
使用
.psm1
扩展名保存 PowerShell 脚本。脚本和保存脚本的目录使用相同的名称。使用
.psm1
扩展名保存脚本意味着您可以使用模块 cmdlet,例如 Import-Module。模块 cmdlet 的存在主要是为了将代码导入和导出到其他用户的系统。替代解决方案是将代码加载到其他系统上,然后将其点源到活动内存中,这不是一个可扩展的解决方案。有关详细信息,请参阅了解 Windows PowerShell 模块。默认情况下,当用户导入.psm1
文件时,脚本中的所有函数都可以访问,但变量则不能。本文末尾提供了一个名为
Show-Calendar
的示例 PowerShell 脚本。function Show-Calendar { param( [DateTime] $start = [DateTime]::Today, [DateTime] $end = $start, $firstDayOfWeek, [int[]] $highlightDay, [string[]] $highlightDate = [DateTime]::Today.ToString('yyyy-MM-dd') ) #actual code for the function goes here see the end of the topic for the complete code sample }
要控制用户对某些函数或变量的访问,请在脚本末尾调用 Export-ModuleMember。
本文底部的示例代码只有一个函数,默认情况下会公开该函数。但是,建议您显式调用您希望公开的函数,如以下代码中所述:
function Show-Calendar { } Export-ModuleMember -Function Show-Calendar
您可以使用模块清单限制导入的内容。有关详细信息,请参阅导入 PowerShell 模块和如何编写 PowerShell 模块清单。
如果您有自己的模块需要加载的模块,则可以使用模块顶部的
Import-Module
。Import-Module
cmdlet 将目标模块导入到系统中,并且可以在稍后的过程中使用来安装您自己的模块。本文底部的示例代码不使用任何导入模块。但如果确实如此,它们将列在文件的顶部,如以下代码所示:Import-Module GenericModule
要向 PowerShell 帮助系统描述您的模块,您可以在文件中使用标准帮助注释,也可以创建额外的帮助文件。
本文底部的代码示例在注释中包含帮助信息。您还可以编写包含附加帮助内容的扩展 XML 文件。有关详细信息,请参阅编写 Windows PowerShell 模块的帮助。
如果您有其他模块、XML 文件或其他想要与模块一起打包的内容,则可以使用模块清单。
模块清单是一个包含其他模块的名称、目录布局、版本号、作者数据和其他信息的文件。 PowerShell 使用模块清单文件来组织和部署您的解决方案。有关详细信息,请参阅如何编写 PowerShell 模块清单。
要安装并运行模块,请将模块保存到适当的 PowerShell 路径之一,然后使用
Import-Module
。您可以安装模块的路径位于
$env:PSModulePath
全局变量中。例如,在系统上保存模块的常见路径为%SystemRoot%/users//Documents/PowerShell/Modules/
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag