[玩转系统] Export-Clixml (Microsoft.PowerShell.Utility)
作者:精品下载站 日期:2024-12-14 02:07:48 浏览:15 分类:玩电脑
Export-Clixml (Microsoft.PowerShell.Utility)
Export-Clixml
模块 :Microsoft.PowerShell.Utility创建一个或多个对象的基于 XML 的表示并将其存储在文件中。
句法
Export-Clixml
[-Depth <Int32>]
[-Path] <String>
-InputObject <PSObject>
[-Force]
[-NoClobber]
[-Encoding <Encoding>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Export-Clixml
[-Depth <Int32>]
-LiteralPath <String>
-InputObject <PSObject>
[-Force]
[-NoClobber]
[-Encoding <Encoding>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
描述
Export-Clixml
cmdlet 将对象序列化为基于公共语言基础结构 (CLI) XML 的表示形式,并将其存储在文件中。然后,您可以使用 Import-Clixml
cmdlet 根据该文件的内容重新创建已保存的对象。有关 CLI 的更多信息,请参阅语言独立性。
此 cmdlet 与 ConvertTo-Xml
类似,不同之处在于 Export-Clixml
将生成的 XML 存储在文件中。 ConvertTo-XML
返回 XML,以便您可以继续在 PowerShell 中处理它。
在 Windows 计算机上 Export-Clixml
的一个重要用途是将凭据和安全字符串安全地导出为 XML。有关示例,请参见示例 3。
示例
示例 1:将字符串导出到 XML 文件
此示例创建一个 XML 文件,该文件在当前目录中存储字符串 This is a test 的表示形式。
"This is a test" | Export-Clixml -Path .\sample.xml
字符串 This is a test
沿着管道发送。 Export-Clixml
使用 Path 参数在当前目录中创建名为 sample.xml
的 XML 文件。
示例 2:将对象导出到 XML 文件
此示例演示如何将对象导出到 XML 文件,然后通过从该文件导入 XML 来创建对象。
Get-Acl C:\test.txt | Export-Clixml -Path .\FileACL.xml
$fileacl = Import-Clixml -Path .\FileACL.xml
Get-Acl
cmdlet 获取Test.txt
文件的安全描述符。它将对象沿着管道发送,以将安全描述符传递给 Export-Clixml
。对象的基于 XML 的表示存储在名为 FileACL.xml
的文件中。
Import-Clixml
cmdlet 从 FileACL.xml
文件中的 XML 创建一个对象。然后,它将对象保存在 $fileacl
变量中。
示例 3:在 Windows 上加密导出的凭据对象
在此示例中,如果您通过运行 Get-Credential
cmdlet 存储在 $Credential
变量中的凭据,则可以运行 Export-Clixml
cmdlet 将凭据保存到磁盘。
这很重要
Export-Clixml
仅在 Windows 上导出加密凭据。在 macOS 和 Linux 等非 Windows 操作系统上,凭据将导出为存储为 Unicode 字符数组的纯文本。这提供了一些混淆,但不提供加密。
$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
Export-Clixml
cmdlet 使用 Windows 数据保护 API 加密凭据对象。加密可确保只有该计算机上的您的用户帐户才能解密凭据对象的内容。导出的 CLIXML
文件无法在不同的计算机上或由不同的用户使用。
在示例中,存储凭据的文件由 TestScript.ps1.credential 表示。将 TestScript 替换为用于加载凭据的脚本的名称。
您将凭证对象沿着管道发送到 Export-Clixml
,并将其保存到您在第一个命令中指定的路径 $Credxmlpath
。
要将凭证自动导入到脚本中,请运行最后两个命令。运行 Import-Clixml
将安全凭证对象导入到您的脚本中。此导入消除了在脚本中暴露纯文本密码的风险。
示例 4:在 Linux 或 macOS 上导出凭证对象
在此示例中,我们使用 Get-Credential
cmdlet 在 $Credential
变量中创建 PSCredential。然后我们使用 Export-Clixml 将凭证保存到磁盘。
这很重要
Export-Clixml
仅在 Windows 上导出加密凭据。在 macOS 和 Linux 等非 Windows 操作系统上,凭据将导出为存储为 Unicode 字符数组的纯文本。这提供了一些混淆,但不提供加密。
PS> $Credential = Get-Credential
PowerShell credential request
Enter your credentials.
User: User1
Password for user User1: ********
PS> $Credential | Export-Clixml ./cred2.xml
PS> Get-Content ./cred2.xml
...
<Props>
<S N="UserName">User1</S>
<SS N="Password">700061007300730077006f0072006400</SS>
</Props>
...
PS> 'password' | Format-Hex -Encoding unicode
Label: String (System.String) <52D60C91>
Offset Bytes Ascii
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
------ ----------------------------------------------- -----
0000000000000000 70 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 p a s s w o r d
本示例中 Get-Content
的输出已被截断,以重点关注 XML 文件中的凭据信息。请注意,密码的纯文本值作为 Unicode 字符数组存储在 XML 文件中,如 Format-Hex
所证明的那样。因此该值被编码但未加密。
参数
-Confirm
在运行 cmdlet 之前提示您进行确认。
类型 :SwitchParameter
别名:cf
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-Depth
指定 XML 表示形式中包含的包含对象的级别。默认值为2
。
可以覆盖 Types.ps1xml
文件中对象类型的默认值。有关详细信息,请参阅 about_Types.ps1xml。
整数32
位置:命名
默认值:2
必需的:False
接受管道输入:False
接受通配符:False
-Encoding
指定目标文件的编码类型。默认值为 utf8NoBOM
。
该参数可接受的值如下:
ascii
:使用 ASCII(7 位)字符集的编码。ansi
:使用当前区域性的 ANSI 代码页的编码。该选项是在 7.4 中添加的。bigendianunicode
:使用 big-endian 字节顺序以 UTF-16 格式进行编码。bigendianutf32
:使用 big-endian 字节顺序以 UTF-32 格式进行编码。oem
:使用 MS-DOS 和控制台程序的默认编码。unicode
:使用小端字节顺序以 UTF-16 格式进行编码。utf7
:以UTF-7格式编码。utf8
:以UTF-8格式编码。utf8BOM
:使用字节顺序标记 (BOM) 以 UTF-8 格式进行编码utf8NoBOM
:以 UTF-8 格式编码,不带字节顺序标记 (BOM)utf32
:以 UTF-32 格式编码。
从 PowerShell 6.2 开始,Encoding 参数还允许使用注册代码页的数字 ID(例如 -Encoding 1251
)或注册代码页的字符串名称(例如 -Encoding “windows-1251”
)。有关详细信息,请参阅 Encoding.CodePage 的 .NET 文档。
从 PowerShell 7.4 开始,您可以使用 Encoding 参数的 Ansi
值来传递当前区域性 ANSI 代码页的数字 ID,而无需手动指定。
笔记
不再建议使用UTF-7*。从 PowerShell 7.1 开始,如果为 Encoding 参数指定 utf7
,则会写入警告。
编码
接受的值:ASCII、BigEndianUnicode、BigEndianUTF32、OEM、Unicode、UTF7、UTF8、UTF8BOM、UTF8NoBOM、UTF32
位置:命名
默认值:UTF8无BOM
必需的:False
接受管道输入:False
接受通配符:False
-Force
强制运行命令而不要求用户确认。
如有必要,使 cmdlet 清除输出文件的只读属性。命令完成后,cmdlet 将尝试重置只读属性。
类型 :SwitchParameter
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-InputObject
指定要转换的对象。输入包含对象的变量,或键入获取对象的命令或表达式。您还可以通过管道将对象传送到 Export-Clixml
。
PS对象
位置:命名
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-LiteralPath
指定将存储对象的 XML 表示形式的文件的路径。与 Path 不同,LiteralPath 参数的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告诉 PowerShell 不要将任何字符解释为转义序列。
类型 :String
别名:PSPath, LP
位置:命名
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-NoClobber
指示 cmdlet 不会覆盖现有文件的内容。默认情况下,如果指定路径中存在文件,Export-Clixml
将覆盖该文件而不发出警告。
SwitchParameter
别名:NoOverwrite
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-Path
指定将存储对象的 XML 表示形式的文件的路径。
类型 :String
位置:0
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-WhatIf
显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。
类型 :SwitchParameter
别名:wi
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
输入
PSObject
您可以将任何对象通过管道传输到此 cmdlet。
输出
文件信息
此 cmdlet 返回一个 FileInfo 对象,表示使用存储的数据创建的文件。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag