Import-Clixml
导入 CLIXML 文件并在 PowerShell 中创建相应的对象。
语法
Import-Clixml
[-Path] <String[]>
[-IncludeTotalCount]
[-Skip <UInt64>]
[-First <UInt64>]
[<CommonParameters>]
Import-Clixml
-LiteralPath <String[]>
[-IncludeTotalCount]
[-Skip <UInt64>]
[-First <UInt64>]
[<CommonParameters>]
说明
cmdlet Import-Clixml
导入公共语言基础结构 (CLI) XML 文件,其中包含代表 Microsoft .NET Framework 对象并创建 PowerShell 对象的数据。 有关 CLI 的详细信息,请参阅 语言独立性。
在 Windows 计算机上, 的 Import-Clixml
一个有价值用途是导入凭据和安全字符串,这些凭据和安全字符串使用 Export-Clixml
导出为安全 XML。 有关示例,请参阅示例 2。
Import-Clixml
使用 BOM) (字节顺序标记来检测文件的编码格式。 如果文件没有 BOM,则假定编码为 UTF8。
示例
示例 1:导入序列化文件并重新创建对象
此示例使用 Export-Clixml
cmdlet 保存由 Get-Process
返回的进程信息的序列化副本。 Import-Clixml
检索序列化文件的内容,并重新创建存储在 变量中的 $Processes
对象。
Get-Process | Export-Clixml -Path .\pi.xml
$Processes = Import-Clixml -Path .\pi.xml
示例 2:导入安全凭据对象
在此示例中,给定通过运行 Get-Credential
cmdlet 存储在 变量中的$Credential
凭据,可以运行 Export-Clixml
cmdlet 将凭据保存到磁盘。
重要
Export-Clixml
仅在 Windows 上导出加密凭据。 在非 Windows 操作系统(如 macOS 和 Linux)上,凭据以纯文本形式导出。
$Credxmlpath = Join-Path (Split-Path $Profile) TestScript.ps1.credential
$Credential | Export-Clixml $Credxmlpath
$Credxmlpath = Join-Path (Split-Path $Profile) TestScript.ps1.credential
$Credential = Import-Clixml $Credxmlpath
cmdlet Export-Clixml
使用 Windows 数据保护 API 加密凭据对象。
加密可确保只有用户帐户才能解密凭据对象的内容。 导出 CLIXML
的文件不能在不同的计算机上或由其他用户使用。
在此示例中,存储凭据的文件由 TestScript.ps1.credential
表示。 将 TestScript 替换为要加载凭据的脚本的名称。
将凭据对象向下发送到 Export-Clixml
管道,并将其保存到在第一个命令中指定的路径 $Credxmlpath
。
若要将凭据自动导入脚本,请运行最后两个命令。 运行 Import-Clixml
,将受保护的凭据对象导入脚本。 此导入消除了在脚本中公开纯文本密码的风险。
参数
-First
只获取指定数量的对象。 输入要获取的对象数量。
Type: | UInt64 |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IncludeTotalCount
报告数据集中对象总数,后跟所选对象。 如果 cmdlet 无法确定总计数,则显示 “未知的总计数”。 整数具有一个 Accuracy 属性,该属性指示总计数值的可靠性。 Accuracy 值的范围从 到 0.0
1.0
,其中 0.0
表示 cmdlet 无法对对象进行计数,1.0
表示计数是精确的,并且 和 1.0
之间的0.0
值指示越来越可靠的估计值。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
指定 XML 文件的路径。 与 Path 不同, LiteralPath 参数的值完全按照键入的方式使用。 不会将任何字符解释为通配符。 如果路径包括转义符,请将其括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
指定 XML 文件的路径。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Skip
忽略指定数量的对象,然后获取其余对象。 输入要跳过的对象数量。
Type: | UInt64 |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输入
可以通过管道将包含路径的字符串传递给 Import-Clixml
。
输出
PSObject
Import-Clixml
返回从存储的 XML 文件中反序列化的对象。
备注
为一个参数指定多个值时,请使用逗号分隔这些值。 例如 <parameter-name> <value1>, <value2>
。