Export-Alias

将有关当前定义的别名的信息导出到文件中。

语法

Export-Alias
      [-Path] <String>
      [[-Name] <String[]>]
      [-PassThru]
      [-As <ExportAliasFormat>]
      [-Append]
      [-Force]
      [-NoClobber]
      [-Description <String>]
      [-Scope <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Export-Alias
      -LiteralPath <String>
      [[-Name] <String[]>]
      [-PassThru]
      [-As <ExportAliasFormat>]
      [-Append]
      [-Force]
      [-NoClobber]
      [-Description <String>]
      [-Scope <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

Export-Alias cmdlet 将当前会话中的别名导出到文件。 如果输出文件不存在,则该 cmdlet 将创建它。

Export-Alias 可以导出特定的作用域或所有作用域中的别名,它可以以 CSV 格式或作为一系列的 Set-Alias 命令生成数据,你可以将这些命令添加到会话或 PowerShell 配置文件中。

示例

示例 1:导出别名

Export-Alias -Path "alias.csv"

此命令将当前的别名信息导出到当前目录中名为 Alias.csv 的文件。

示例 2:导出别名,除非导出文件已存在

Export-Alias -Path "alias.csv" -NoClobber

此命令将当前会话中的别名导出到 Alias.csv 文件。

因为指定了 NoClobber 参数,因此如果 Alias.csv 文件已存在于当前目录中,该命令将失败。

示例 3:向文件追加别名

Export-Alias -Path "alias.csv" -Append -Description "Appended Aliases" -Force

此命令将当前会话中的别名附加到 Alias.csv 文件。

此命令使用说明参数将描述添加到该文件顶部的注释。

该命令还使用强制参数覆盖任何现有的 Alias.csv 文件,即使它们具有只读属性。

示例 4:将别名导出为脚本

Export-Alias -Path "alias.ps1" -As Script
Add-Content -Path $Profile -Value (Get-Content alias.ps1)
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S -FilePath .\alias.ps1

此示例演示如何使用 Export-Alias 生成的脚本文件格式。

第一个命令将会话中的别名导出到 Alias.ps1 文件。 它使用 As 参数与脚本值生成包含每个别名的 Set-Alias 命令的文件。

第二个命令将 Alias.ps1 文件中的别名添加到 CurrentUser-CurrentHost 配置文件中。 配置文件的路径保存在 $Profile 变量中。 该命令使用 Get-Content cmdlet 从 Alias.ps1 文件和 Add-Content cmdlet 中获取别名以将它们添加到配置文件中。 有关详细信息,请参阅 about_Profiles

第三个和第四个命令将 Alias.ps1 文件中的别名添加到 Server01 计算机上的远程会话。 第三个命令使用 New-PSSession cmdlet 创建会话。 第四个命令使用 Invoke-Command cmdlet 的 FilePath 参数运行新会话中的 Alias.ps1 文件。

参数

-Append

指示此 cmdlet 将输出追加到指定文件,而不是覆盖该文件的现有内容。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-As

指定输出格式。 CSV 是默认值。 此参数的可接受值为:

  • CSV 以逗号分隔值 (CSV) 格式。
  • 脚本。 为每个导出的别名创建 Set-Alias 命令。 如果你使用 .ps1 文件扩展命名输出文件,则可以将它作为脚本运行,以将别名添加到任何会话中。
Type:ExportAliasFormat
Accepted values:Csv, Script
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

指定导出文件的说明。 该描述显示为该文件顶部的注释,位于标头信息之后。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

强制运行命令而不要求用户确认。

即使在文件上设置了只读属性,也将覆盖输出文件。

默认情况下,Export-Alias 覆盖文件而不发出警告,除非设置了只读或隐藏属性或在命令中使用了 NoClobber 参数。 当命令中同时使用以下这两个参数时,NoClobber 参数优先于强制参数。

强制参数无法强制 Export-Alias 覆盖带有隐藏属性的文件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

指定输出文件的路径。 与 Path 不同,LiteralPath 参数的值严格按照所键入的形式使用。 不会将任何字符解释为通配符。 如果路径包括转义符,请将其括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

指定要导出的别名数组的名称。 允许使用通配符。

默认情况下,Export-Alias 在会话或作用域中导出所有别名。

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-NoClobber

指示此 cmdlet 可防止 Export-Alias 覆盖任何文件,即使命令中使用了强制参数。

如果省略 NoClobber 参数,则 Export-Alias 将覆盖现有文件而不发出警告,除非在该文件上设置只读属性。 NoClobber 优先于强制参数,这将允许 Export-Alias 使用只读属性覆盖文件。

NoClobber 不会阻止追加参数将内容添加到现有文件。

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

返回一个代表你所处理的项目的对象。 默认情况下,此 cmdlet 将不产生任何输出。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定输出文件的路径。 允许使用通配符,但所得到的路径值必须解析为单个文件名称。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Scope

指定应从其导出别名的作用域。 此参数的可接受值为:

  • 全局
  • 本地
  • 脚本
  • 一个相对于当前作用域的数字(0 到作用域数,其中 0 是指当前作用域,1 是指其父作用域)

默认值为 Local。 有关详细信息,请参阅 about_Scopes

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

None

不能通过管道将对象传递给此 cmdlet。

输出

None

默认情况下,此 cmdlet 不返回任何输出。

AliasInfo

使用 PassThru 参数时,此 cmdlet 返回表示别名的 AliasInfo 对象。

备注

PowerShell 包含以下 Export-Alias 别名:

  • 所有平台:
    • epal
  • 可以仅将别名导出到文件。