当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 导出模块成员 (Microsoft.PowerShell.Core)

作者:精品下载站 日期:2024-12-14 02:16:19 浏览:13 分类:玩电脑

导出模块成员 (Microsoft.PowerShell.Core)


Export-ModuleMember

模块 :Microsoft.PowerShell.Core

指定导出的模块成员。

句法

Export-ModuleMember
      [[-Function] <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [<CommonParameters>]

描述

Export-ModuleMember cmdlet 指定从脚本模块 (.psm1) 文件或使用 New- 创建的动态模块导出的模块成员。模块 cmdlet。模块成员包括 cmdlet、函数、变量和别名。此 cmdlet 只能在脚本模块文件或动态模块中使用。

如果脚本模块不包含 Export-ModuleMember 命令,则会导出脚本模块中的函数和别名,但不会导出变量。当脚本模块包含 Export-ModuleMember 命令时,仅导出 Export-ModuleMember 命令中指定的成员。您还可以使用 Export-ModuleMember 抑制或导出脚本模块从其他模块导入的成员。

Export-ModuleMember 命令是可选的,但它是最佳实践。即使该命令确认了默认值,也表明了模块作者的意图。

示例

示例 1:导出脚本模块中的函数和别名

Export-ModuleMember -Function * -Alias *

此命令导出脚本模块中定义的所有函数和别名。

示例 2:导出特定别名和函数

Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt

此命令导出脚本模块中定义的三个别名和三个函数。

您可以使用此命令格式指定模块成员的名称。

示例 3:不导出任何成员

Export-ModuleMember

此命令指定不导出脚本模块中定义的任何成员。

此命令可防止导出模块成员,但不会隐藏成员。用户可以读取和复制模块成员或使用调用运算符(&)来调用未导出的模块成员。

示例 4:导出特定变量

Export-ModuleMember -Variable increment

此命令仅从脚本模块导出 $increment 变量。没有其他成员被导出。

如果要导出变量,除了导出模块中的函数之外,Export-ModuleMember 命令还必须包含所有函数的名称和变量的名称。

示例 5:多个导出命令

# From TestModule.psm1
function New-Test
{
    Write-Output 'I am New-Test function'
}
Export-ModuleMember -Function New-Test

function Validate-Test
{
    Write-Output 'I am Validate-Test function'
}
function Start-Test
{
    Write-Output 'I am Start-Test function'
}
Set-Alias stt Start-Test
Export-ModuleMember -Function Start-Test -Alias stt

这些命令显示了如何在脚本模块 (.psm1) 文件中解释多个 Export-ModuleMember 命令。

这些命令创建三个函数和一个别名,然后导出其中两个函数和别名。

如果没有 Export-ModuleMember 命令,所有三个函数和别名都将被导出。使用 Export-ModuleMember 命令,只有 New-TestStart-Test 函数以及 STT 别名出口。

示例 6:导出动态模块中的成员

New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}

此命令演示如何在使用 New-Module cmdlet 创建的动态模块中使用 Export-ModuleMember

在此示例中,Export-ModuleMember 用于导出动态模块中的 Hi 别名和 SayHello 函数。

参数

-Alias

指定从脚本模块文件导出的别名。输入别名。允许使用通配符。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

True

-Cmdlet

指定从脚本模块文件导出的 cmdlet。输入 cmdlet 名称。允许使用通配符。

您无法在脚本模块文件中创建 cmdlet,但可以将 cmdlet 从二进制模块导入到脚本模块中,然后从脚本模块中重新导出它们。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

True

-Function

指定从脚本模块文件导出的函数。输入函数名称。允许使用通配符。您还可以通过管道将函数名称字符串传递给 Export-ModuleMember

类型 :

String[]

位置:

0

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

True

-Variable

指定从脚本模块文件导出的变量。输入变量名称,不带美元符号字符 ($)。允许使用通配符。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

True

输入

字符串

您可以通过管道将函数名称字符串传递给此 cmdlet。

输出

此 cmdlet 不返回任何输出。

笔记

  • 要从导出成员列表中排除某个成员,请添加一个 Export-ModuleMember 命令,该命令会列出所有其他成员,但忽略要排除的成员。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯