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 文件。