Export-Alias

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

语法

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

说明

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

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

参数

-Append

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

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-As <ExportAliasFormat>

确定输出格式。默认值为 CSV。

有效值包括:

-- CSV:逗号分隔的值 (CSV) 格式。

-- Script:为每个导出的别名创建 Set-Alias 命令。如果使用 .ps1 文件扩展名为输出文件命名,则可将其作为脚本来运行以向任何会话中添加别名。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Description <string>

为导出文件添加说明。说明将作为注释显示在文件顶部的标题信息之后。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Force

覆盖输出文件,即使为该文件设置了只读属性。

默认情况下,Export-Alias 不发出警告就覆盖文件,除非设置了只读或隐藏属性,或在命令中使用了 NoClobber 参数。当命令中同时使用了 NoClobber 和 Force 参数时,前者优先于后者。

Force 参数不能强制 Export-Alias 覆盖具有隐藏属性的文件。

是否为必需?

false

位置?

named

默认值

不覆盖只读文件。

是否接受管道输入?

false

是否接受通配符?

false

-Name <string[]>

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

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

是否为必需?

false

位置?

2

默认值

导出所有别名

是否接受管道输入?

true (ByPropertyName)

是否接受通配符?

false

-NoClobber

即使在命令中使用了 Force 参数,也阻止 Export-Alias 覆盖任何文件。

如果省略了 NoClobber 参数,则 Export-Alias 将不发出警告就覆盖现有文件,除非为文件设置了只读属性。NoClobber 优先于 Force 参数,允许 Export-Alias 覆盖具有只读属性的文件。

NoClobber 并不阻止 Append 参数向现有文件中添加内容。

是否为必需?

false

位置?

named

默认值

覆盖读写文件。

是否接受管道输入?

false

是否接受通配符?

false

-PassThru

返回表示已导出的别名的对象。默认情况下,此 cmdlet 将不产生任何输出。

是否为必需?

false

位置?

named

默认值

无输出

是否接受管道输入?

false

是否接受通配符?

false

-Path <string>

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

是否为必需?

true

位置?

1

默认值

是否接受管道输入?

false

是否接受通配符?

false

-Scope <string>

指定应从其中导出别名的作用域。

有效值是“Global”、“Local”或“Script”,或者相对于当前作用域的数字(0 到作用域的数目,其中 0 是当前作用域,1 是它的父级)。默认值为“Local”。有关详细信息,请参阅 about_Scopes。

是否为必需?

false

位置?

named

默认值

Local

是否接受管道输入?

false

是否接受通配符?

false

-Confirm

在执行命令之前提示您进行确认。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

描述如果执行该命令会发生什么情况(无需实际执行该命令)。

是否为必需?

false

位置?

named

默认值

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.

输入和输出

输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。

输入

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

输出

“无”或 System.Management.Automation.AliasInfo

如果使用 Passthru 参数,则 Export-Alias 返回一个表示该别名的 System.Management.Automation.AliasInfo 对象。否则,此 cmdlet 将不产生任何输出。

说明

只能使用 Export-Alias 导出到一个文件。

示例 1

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

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





示例 2

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

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

由于指定了 NoClobber 参数,所以,如果当前目录下已存在 Alias.csv 文件,则该命令会失败。





示例 3

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

说明
-----------
该命令将当前会话中的别名附加到名为 Alias.csv 的文件中。

该命令使用 Description 参数为文件顶部的注释添加说明。

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





示例 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

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

第一条命令将会话中的别名导出到 Alias.ps1 文件中。它使用具有 Script 值的 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 文件。





另请参阅

概念

Import-Alias
Get-Alias
New-Alias
Set-Alias