powershellscripts.com

Tutorials  PowerShell Cmdlet Help for Export-ModuleMember



NAME
Export-ModuleMember

SYNOPSIS
Specifies the module members that are exported.

SYNTAX
Export-ModuleMember [[-Function] ] [-Alias ] [-Cmdlet ] [-Variable ] [ onParameters>]


DESCRIPTION
The Export-ModuleMember cmdlet specifies the module members (such as cmdlets, functions, variables, and aliases) th
at are exported from a script module (.psm1) file, or from a dynamic module created by using the New-Module cmdlet.
This cmdlet can be used only in a script module file or a dynamic module.

If a script module does not include an Export-ModuleMember command, the functions in the script module are exported
, but the variables and aliases are not. When a script module includes an Export-ModuleMember command, only the mem
bers specified in the Export-ModuleMember command are exported.

If a script module contains multiple Export-ModuleMember commands, only the members listed in an Export-ModuleMembe
r command are exported.

You can also use Export-ModuleMember to export members that the script module imports from other modules.


PARAMETERS
-Alias
Specifies the aliases that are exported from the script module file. Enter the alias names. Wildcards are permi
tted.

Required? false
Position? named
Default value None
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? true

-Cmdlet
Specifies the cmdlets that are exported from the script module file. Enter the cmdlet names. Wildcards are perm
itted.

You cannot create cmdlets in a script module file, but you can import cmdlets from a binary module into a scrip
t module and re-export them from the script module.

Required? false
Position? named
Default value None
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? true

-Function
Specifies the functions that are exported from the script module file. Enter the function names. Wildcards are
permitted. You can also pipe function name strings to Export-ModuleMember.

Required? false
Position? 1
Default value None
Accept pipeline input? true (ByValue, ByPropertyName)
Accept wildcard characters? true

-Variable
Specifies the variables that are exported from the script module file. Enter the variable names (without a doll
ar sign). Wildcards are permitted.

Required? false
Position? named
Default value None
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? true


This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
"get-help about_commonparameters".

INPUTS
System.String
You can pipe function name strings to Export-ModuleMember.


OUTPUTS
None
This cmdlet does not generate any output.


NOTES


To exclude a member from the list of exported members, add an Export-ModuleMember command that lists all other
members but omits the member that you want to exclude.


-------------------------- EXAMPLE 1 --------------------------

C:\PS>Export-ModuleMember -function * -alias *


Description
-----------
This command exports the aliases defined in the script module, along with the functions defined in the script modul
e.

To export the aliases, which are not exported by default, you must also explicitly specify the functions. Otherwise
, only the aliases will be exported.





-------------------------- EXAMPLE 2 --------------------------

C:\PS>Export-ModuleMember -function Get-Test, New-Test, Start-Test -alias gtt, ntt, stt


Description
-----------
This command exports three aliases and three functions defined in the script module.

You can use this command format to specify the names of module members.





-------------------------- EXAMPLE 3 --------------------------

C:\PS>Export-ModuleMember


Description
-----------
This command specifies that no members defined in the script module are exported.

This command prevents the module members from being exported, but it does not hide the members. Users can read and
copy module members or use the call operator (&) to invoke module members that are not exported.





-------------------------- EXAMPLE 4 --------------------------

C:\PS>Export-ModuleMember -variable increment


Description
-----------
This command exports only the $increment variable from the script module. No other members are exported.

If you want to export a variable, in addition to exporting the functions in a module, the Export-ModuleMember comma
nd must include the names of all of the functions and the name of the variable.





-------------------------- EXAMPLE 5 --------------------------

C:\PS># From TestModule.psm1

function new-test
{ }
export-modulemember -function new-test

function validate-test
{ }

function start-test
{ }
set-alias stt start-test
export-modulemember -function *-test -alias stt


Description
-----------
These commands show how multiple Export-ModuleMember commands are interpreted in a script module (.psm1) file.

These commands create three functions and one alias, and then they export two of the functions and the alias.

Without the Export-ModuleMember commands, all three of the functions would be exported, but the alias would not be
exported. With the Export-ModuleMember commands, only the Get-Test and Start-Test functions and the STT alias are e
xported.





-------------------------- EXAMPLE 6 --------------------------

C:\PS>new-module -script {function SayHello {"Hello!"}; set-alias Hi SayHello; Export-ModuleMember -alias Hi -funct
ion SayHello}


Description
-----------
This command shows how to use Export-ModuleMember in a dynamic module that is created by using the New-Module cmdle
t.

In this example, Export-ModuleMember is used to export both the "Hi" alias and the "SayHello" function in the dynam
ic module.





-------------------------- EXAMPLE 7 --------------------------

C:\PS>function export
{
param (
[parameter(mandatory=$true)] [validateset("function","variable")] $type,
[parameter(mandatory=$true)] $name,
[parameter(mandatory=$true)] $value
)
if ($type -eq "function")
{
Set-item "function:script:$name" $value
Export-ModuleMember $name
}
else
{
Set-Variable -scope Script $name $value
Export-ModuleMember -variable $name
}
}

export function New-Test
{
...
}


function helper
{
...
}

export variable interval 0
$interval = 2


Description
-----------
This example includes a function named Export that declares a function or creates a variable, and then writes an Ex
port-ModuleMember command for the function or variable. This lets you declare and export a function or variable in
a single command.

To use the Export function, include it in your script module. To export a function, type "Export" before the Functi
on keyword.

To export a variable, use the following format to declare the variable and set its value:

export variable

The commands in the example show the correct format. In this example, only the New-Test function and the $Interval
variable are exported.






RELATED LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=141551
Import-Module
Get-Module
Remove-Module
about_Modules