ส่งออก-FormatData (Microsoft.PowerShell.Utility)
Export-FormatData
- โมดูล :
- Microsoft.PowerShell.Utility
บันทึกข้อมูลการจัดรูปแบบจากเซสชันปัจจุบันในไฟล์การจัดรูปแบบ
ไวยากรณ์
Export-FormatData
-InputObject <ExtendedTypeDefinition[]>
-Path <String>
[-Force]
[-NoClobber]
[-IncludeScriptBlock]
[<CommonParameters>]Export-FormatData
-InputObject <ExtendedTypeDefinition[]>
-LiteralPath <String>
[-Force]
[-NoClobber]
[-IncludeScriptBlock]
[<CommonParameters>]คำอธิบาย
Export-FormatData cmdlet สร้างไฟล์การจัดรูปแบบ PowerShell (format.ps1xml) จากวัตถุการจัดรูปแบบในเซสชันปัจจุบัน ใช้ออบเจ็กต์ ExtensedTypeDefinition ที่ Get-FormatData ส่งคืนและบันทึกเป็นไฟล์ในรูปแบบ XML
PowerShell ใช้ข้อมูลในการจัดรูปแบบไฟล์ (format.ps1xml) เพื่อสร้างการแสดงผลเริ่มต้นของออบเจ็กต์ Microsoft .NET Framework ในเซสชัน คุณสามารถดูและแก้ไขไฟล์การจัดรูปแบบ และใช้ Update-FormatData cmdlet เพื่อเพิ่มข้อมูลการจัดรูปแบบลงในเซสชัน
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดรูปแบบไฟล์ใน PowerShell โปรดดูที่ about_Format.ps1xml
ตัวอย่าง
ตัวอย่างที่ 1: ส่งออกข้อมูลรูปแบบเซสชัน
Get-FormatData -TypeName "*" | Export-FormatData -Path "allformat.ps1xml" -IncludeScriptBlockคำสั่งนี้จะส่งออกข้อมูลรูปแบบทั้งหมดในเซสชันไปยังไฟล์ AllFormat.ps1xml
คำสั่งใช้ Get-FormatData cmdlet เพื่อรับข้อมูลรูปแบบในเซสชัน ค่า * (ทั้งหมด) สำหรับพารามิเตอร์ TypeName กำหนดให้ cmdlet รับข้อมูลทั้งหมดในเซสชัน
คำสั่งใช้ตัวดำเนินการไปป์ไลน์ (|) เพื่อส่งข้อมูลรูปแบบจากคำสั่ง Get-FormatData ไปยัง Export-FormatData cmdlet ซึ่งส่งออก จัดรูปแบบข้อมูลเป็นไฟล์ AllFormat.ps1
คำสั่ง Export-FormatData ใช้พารามิเตอร์ IncludeScriptBlock เพื่อรวมบล็อกสคริปต์ไว้ในข้อมูลรูปแบบในไฟล์
ตัวอย่างที่ 2: ส่งออกข้อมูลรูปแบบสำหรับประเภท
$F = Get-FormatData -TypeName "helpinfoshort"
Export-FormatData -InputObject $F -Path "c:\test\help.format.ps1xml" -IncludeScriptBlockคำสั่งเหล่านี้จะส่งออกข้อมูลรูปแบบสำหรับประเภท HelpInfoShort ไปยังไฟล์ Help.format.ps1xml
คำสั่งแรกใช้ Get-FormatData cmdlet เพื่อรับข้อมูลรูปแบบสำหรับประเภท HelpInfoShort และบันทึกไว้ในตัวแปร $F
คำสั่งที่สองใช้พารามิเตอร์ InputObject ของ Export-FormatData cmdlet เพื่อป้อนข้อมูลรูปแบบที่บันทึกไว้ในตัวแปร $F นอกจากนี้ยังใช้พารามิเตอร์ IncludeScriptBlock เพื่อรวมบล็อกสคริปต์ในเอาต์พุต
ตัวอย่างที่ 3: ส่งออกข้อมูลรูปแบบโดยไม่มีบล็อกสคริปต์
Get-FormatData -TypeName "System.Diagnostics.Process" | Export-FormatData -Path process.format.ps1xml
Update-FormatData -PrependPath ".\process.format.ps1xml"
Get-Process p*
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
323 5600 powershell
336 3900 powershell_ise
138 4076 PresentationFontCacheตัวอย่างนี้แสดงผลของการละเว้นพารามิเตอร์ IncludeScriptBlock จากคำสั่ง Export-FormatData
คำสั่งแรกใช้ Get-FormatData cmdlet เพื่อรับข้อมูลรูปแบบสำหรับออบเจ็กต์ System.Diagnostics.Process ที่ Get-Process cmdlet ส่งคืน คำสั่งใช้ตัวดำเนินการไปป์ไลน์ (|) เพื่อส่งข้อมูลการจัดรูปแบบไปยัง Export-FormatData cmdlet ซึ่งจะส่งออกไปยังไฟล์ Process.format.ps1xml ในไดเร็กทอรีปัจจุบัน .
ในกรณีนี้ คำสั่ง Export-FormatData ไม่ได้ใช้พารามิเตอร์ IncludeScriptBlock
คำสั่งที่สองใช้ Update-FormatData cmdlet เพื่อเพิ่มไฟล์ Process.format.ps1xml ลงในเซสชันปัจจุบัน คำสั่งใช้พารามิเตอร์ PrependPath เพื่อให้แน่ใจว่าข้อมูลการจัดรูปแบบสำหรับออบเจ็กต์กระบวนการในไฟล์ Process.format.ps1xml จะพบก่อนข้อมูลการจัดรูปแบบมาตรฐานสำหรับออบเจ็กต์กระบวนการ
คำสั่งที่สามแสดงผลของการเปลี่ยนแปลงนี้ คำสั่งใช้ cmdlet Get-Process เพื่อรับกระบวนการที่มีชื่อที่ขึ้นต้นด้วย P ผลลัพธ์จะแสดงค่าคุณสมบัติที่คำนวณโดยใช้บล็อกสคริปต์หายไปจากจอแสดงผล
พารามิเตอร์
-Force
บังคับให้คำสั่งทำงานโดยไม่ต้องขอการยืนยันจากผู้ใช้
- พิมพ์ :
SwitchParameter
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-IncludeScriptBlock
ระบุว่าบล็อกสคริปต์ในข้อมูลรูปแบบถูกส่งออกหรือไม่
เนื่องจากบล็อกสคริปต์มีโค้ดและสามารถนำไปใช้ในทางที่ผิดได้ จึงไม่ถูกส่งออกตามค่าเริ่มต้น
- พิมพ์ :
-
SwitchParameter
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-InputObject
ระบุวัตถุข้อมูลรูปแบบที่จะส่งออก ป้อนตัวแปรที่มีวัตถุหรือคำสั่งที่ได้รับวัตถุ เช่น คำสั่ง Get-FormatData คุณยังสามารถไพพ์ออบเจ็กต์จาก Get-FormatData ไปยัง Export-FormatData
- พิมพ์ :
ExtendedTypeDefinition[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-LiteralPath
ระบุตำแหน่งสำหรับไฟล์เอาต์พุต ต่างจากพารามิเตอร์ Path ค่าของ LiteralPath จะถูกใช้ตรงตามที่พิมพ์ทุกประการ ไม่มีอักขระใดที่ถูกตีความว่าเป็นไวด์การ์ด หากเส้นทางมีอักขระเลี่ยง ให้ใส่เครื่องหมายคำพูดเดี่ยว เครื่องหมายคำพูดเดี่ยวบอกให้ PowerShell ไม่ต้องตีความอักขระใดๆ เป็นลำดับหลีก
- พิมพ์ :
String
- นามแฝง :
PSPath, LP
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-NoClobber
บ่งชี้ว่า cmdlet ไม่ได้เขียนทับไฟล์ที่มีอยู่ ตามค่าเริ่มต้น Export-FormatData จะเขียนทับไฟล์โดยไม่มีการเตือน เว้นแต่ไฟล์จะมีแอตทริบิวต์แบบอ่านอย่างเดียว
หากต้องการกำหนดให้ Export-FormatData เขียนทับไฟล์แบบอ่านอย่างเดียว ให้ใช้พารามิเตอร์ Force
- พิมพ์ :
SwitchParameter
- นามแฝง :
NoOverwrite
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-Path
ระบุตำแหน่งสำหรับไฟล์เอาต์พุต ป้อนเส้นทาง (ไม่บังคับ) และชื่อไฟล์พร้อมนามสกุลไฟล์ format.ps1xml หากคุณละเว้นเส้นทาง Export-FormatData จะสร้างไฟล์ในไดเรกทอรีปัจจุบัน
หากคุณใช้นามสกุลไฟล์อื่นที่ไม่ใช่ .ps1xml Update-FormatData cmdlet จะไม่รู้จักไฟล์นั้น
หากคุณระบุไฟล์ที่มีอยู่ Export-FormatData จะเขียนทับไฟล์โดยไม่มีคำเตือน เว้นแต่ไฟล์จะมีแอตทริบิวต์แบบอ่านอย่างเดียว หากต้องการเขียนทับไฟล์แบบอ่านอย่างเดียว ให้ใช้พารามิเตอร์ Force เพื่อป้องกันไม่ให้ไฟล์ถูกเขียนทับ ให้ใช้พารามิเตอร์ NoClobber
- พิมพ์ :
String
- นามแฝง :
FilePath
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
อินพุต
ExtensedTypeDefinition
คุณสามารถไปป์วัตถุ ExtensedTypeDefinition จาก Get-FormatData ไปยัง cmdlet นี้
เอาท์พุต
ไม่มี
cmdlet นี้ส่งคืนไม่มีผลลัพธ์ มันสร้างไฟล์และบันทึกในเส้นทางที่ระบุ
หมายเหตุ
- หากต้องการใช้ไฟล์การจัดรูปแบบใดๆ รวมถึงไฟล์การจัดรูปแบบที่ส่งออก นโยบายการดำเนินการสำหรับเซสชันจะต้องอนุญาตให้สคริปต์และไฟล์การกำหนดค่าทำงาน สำหรับข้อมูลเพิ่มเติม โปรดดู about_Execution_Policies