Exports information about currently defined aliases to a file.

Syntax

Export-Alias [-Path] <string> [[-Name] <string[]>] [-Append] [-As {<Csv> | <Script>}] [-Description <string>] [-Force] [-NoClobber] [-PassThru] [-Scope <string>] [-Confirm] [-WhatIf] [<CommonParameters>]

Description

The Export-Alias cmdlet exports the aliases in the current session to a file. If the output file does not exist, the cmdlet will create it.

Export-Alias can export the aliases in a particular scope or all scopes, it can generate the data in CSV format or as a series of Set-Alias commands that you can add to a session or to a Windows PowerShell profile.

Parameters

-Append

Appends the output to the specified file, rather than overwriting the existing contents of that file.

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-As <ExportAliasFormat>

Determines the output format. CSV is the default.

Valid values are:

-- CSV: Comma-separated value (CSV) format.

-- Script: Creates a Set-Alias command for each exported alias. If you name the output file with a .ps1 file name extension, you can run it as a script to add the aliases to any session.

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Description <string>

Adds a description to the exported file. The description appears as a comment at the top of the file, following the header information.

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

Overwrites the output file, even if the read-only attribute is set on the file.

By default, Export-Alias overwrites files without warning, unless the read-only or hidden attribute is set or the NoClobber parameter is used in the command. The NoClobber parameter takes precedence over the Force parameter when both are used in a command.

The Force parameter cannot force Export-Alias to overwrite files with the hidden attribute.

Required?

false

Position?

named

Default Value

Does not overwrite read-only files.

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name <string[]>

Specifies the names of the aliases to export. Wildcards are permitted.

By default, Export-Alias exports all aliases in the session or scope.

Required?

false

Position?

2

Default Value

Export all aliases

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-NoClobber

Prevents Export-Alias from overwriting any files, even if the Force parameter is used in the command.

If the NoClobber parameter is omitted, Export-Alias will overwrite an existing file without warning, unless the read-only attribute is set on the file. NoClobber takes precedence over the Force parameter, which permits Export-Alias to overwrite a file with the read-only attribute.

NoClobber does not prevent the Append parameter from adding content to an existing file.

Required?

false

Position?

named

Default Value

Overwrites read-write files.

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PassThru

Returns objects that represent the aliases that were exported. By default, this cmdlet does not generate any output.

Required?

false

Position?

named

Default Value

No output

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Path <string>

Specifies the path to the output file. Wildcards are permitted, but the resulting path value must resolve to a single file name. This parameter is required.

Required?

true

Position?

1

Default Value

None

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Scope <string>

Specifies the scope from which the aliases should be exported.

Valid values are "Global", "Local", or "Script", or a number relative to the current scope (0 through the number of scopes where 0 is the current scope and 1 is its parent). "Local" is the default. For more information, see about_Scopes.

Required?

false

Position?

named

Default Value

Local

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before executing the command.

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Describes what would happen if you executed the command without actually executing the command.

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters.

Inputs and Outputs

The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet returns.

Inputs

None.

You cannot pipe objects to this cmdlet.

Outputs

None or System.Management.Automation.AliasInfo

When you use the Passthru parameter, Export-Alias returns a System.Management.Automation.AliasInfo object that represents the alias. Otherwise, this cmdlet does not generate any output.

Notes

You can only Export-Aliases to a file.

Example 1

C:\PS>export-alias -path alias.csv

This command exports current alias information to a file named Alias.csv in the current directory.






Example 2

C:\PS>export-alias -path alias.csv -noclobber

This command exports the aliases in the current session to an Alias.csv file. 

Because the NoClobber parameter is specified, the command will fail if an Alias.csv file already exists in the current directory.






Example 3

C:\PS>export-alias -path alias.csv -append -description "Appended Aliases" -force

This command appends the aliases in the current session to the Alias.csv file. 

The command uses the Description parameter to add a description to the comments at the top of the file. 

The command also uses the Force parameter to overwrite any existing Alias.csv files, even if they have the read-only attribute.






Example 4

C:\PS>export-alias -path alias.ps1 -as script

C:\PS> add-content -path $profile -value (get-content alias.ps1)

C:\PS> $s = new-pssession -computername Server01
C:\PS> invoke-command -session $s -filepath .\alias.ps1

This example shows how to use the script file format that Export-Alias generates.

The first command exports the aliases in the session to the Alias.ps1 file. It uses the As parameter with a value of Script to generate a file that contains a Set-Alias command for each alias.

The second command adds the aliases in the Alias.ps1 file to the CurrentUser-CurrentHost profile. (The path to the profile is saved in the $profile variable.) The command uses the Get-Content cmdlet to get the aliases from the Alias.ps1 file and the Add-Content cmdlet to add them to the profile. For more information, see about_Profiles.

The third and fourth commands add the aliases in the Alias.ps1 file to a  remote session on the Server01 computer. The third command uses the New-PSSession cmdlet to create the session. The fourth command uses the FilePath parameter of the Invoke-Command cmdlet to run the Alias.ps1 file in the new session.






See Also




Table Of Contents