อัปเดต TypeData (Microsoft.PowerShell.Utility)
Update-TypeData
- โมดูล :
- Microsoft.PowerShell.Utility
อัพเดตข้อมูลชนิดขยายในเซสชัน
ไวยากรณ์
Update-TypeData
[[-AppendPath] <String[]>]
[-PrependPath <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Update-TypeData
[-MemberType <PSMemberTypes>]
[-MemberName <String>]
[-Value <Object>]
[-SecondValue <Object>]
[-TypeConverter <Type>]
[-TypeAdapter <Type>]
[-SerializationMethod <String>]
[-TargetTypeForDeserialization <Type>]
[-SerializationDepth <Int32>]
[-DefaultDisplayProperty <String>]
[-InheritPropertySerializationSet <Nullable`1>]
[-StringSerializationSource <String>]
[-DefaultDisplayPropertySet <String[]>]
[-DefaultKeyPropertySet <String[]>]
[-PropertySerializationSet <String[]>]
-TypeName <String>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Update-TypeData
[-Force]
[-TypeData] <TypeData[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]คำอธิบาย
Update-TypeData cmdlet จะอัปเดตข้อมูลประเภทเพิ่มเติมในเซสชันโดยการโหลดไฟล์ Types.ps1xml ลงในหน่วยความจำและเพิ่มข้อมูลประเภทขยายใหม่
ตามค่าเริ่มต้น PowerShell จะโหลดข้อมูลชนิดขยายตามที่จำเป็น หากไม่มีพารามิเตอร์ Update-TypeData จะโหลดไฟล์ Types.ps1xml ทั้งหมดที่เคยโหลดในเซสชันซ้ำ รวมถึงไฟล์ประเภทใดๆ ที่คุณเพิ่มด้วย คุณสามารถใช้พารามิเตอร์ของ Update-TypeData เพื่อเพิ่มไฟล์ประเภทใหม่และเพิ่มและแทนที่ข้อมูลประเภทขยาย
Update-TypeData cmdlet สามารถใช้เพื่อโหลดข้อมูลประเภททั้งหมดล่วงหน้าได้ คุณลักษณะนี้มีประโยชน์อย่างยิ่งเมื่อคุณกำลังพัฒนาประเภทและต้องการโหลดประเภทใหม่เหล่านั้นเพื่อการทดสอบ
เริ่มต้นใน Windows PowerShell 3.0 คุณสามารถใช้ Update-TypeData เพื่อเพิ่มและแทนที่ข้อมูลประเภทขยายในเซสชันโดยไม่ต้องใช้ไฟล์ Types.ps1xml พิมพ์ข้อมูลที่เพิ่มแบบไดนามิก กล่าวคือ ไม่มีไฟล์ จะถูกเพิ่มในเซสชันปัจจุบันเท่านั้น หากต้องการเพิ่มข้อมูลประเภทลงในเซสชันทั้งหมด ให้เพิ่มคำสั่ง Update-TypeData ลงในโปรไฟล์ PowerShell ของคุณ สำหรับข้อมูลเพิ่มเติม โปรดดู about_Profiles
นอกจากนี้ เริ่มต้นใน Windows PowerShell 3.0 คุณสามารถใช้ Get-TypeData cmdlet เพื่อรับประเภทขยายในเซสชันปัจจุบันและ cmdlet Remove-TypeData เพื่อลบประเภทขยายจาก เซสชันปัจจุบัน
ข้อยกเว้นที่เกิดขึ้นในคุณสมบัติ หรือจากการเพิ่มคุณสมบัติลงในคำสั่ง Update-TypeData ไม่ต้องรายงานข้อผิดพลาด นี่เป็นการระงับข้อยกเว้นที่อาจเกิดขึ้นในประเภททั่วไปหลายประเภทระหว่างการจัดรูปแบบและการส่งออก หากคุณได้รับคุณสมบัติ .NET คุณสามารถหลีกเลี่ยงการระงับข้อยกเว้นได้โดยใช้ไวยากรณ์ของวิธีการแทน ดังที่แสดงในตัวอย่างต่อไปนี้:
"hello".get_Length()โปรดทราบว่าไวยากรณ์ของวิธีการสามารถใช้ได้กับคุณสมบัติ .NET เท่านั้น คุณสมบัติที่ถูกเพิ่มโดยการเรียกใช้ cmdlet Update-TypeData ไม่สามารถใช้ไวยากรณ์ของวิธีการได้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ Types.ps1xml ใน PowerShell โปรดดู about_Types.ps1xml
ตัวอย่าง
ตัวอย่างที่ 1: อัปเดตประเภทเพิ่มเติม
Update-TypeDataคำสั่งนี้จะอัปเดตการกำหนดค่าประเภทเพิ่มเติมจากไฟล์ Types.ps1xml ที่ใช้งานแล้วในเซสชัน
ตัวอย่างที่ 2: อัปเดตประเภทหลายครั้ง
ตัวอย่างนี้แสดงวิธีอัปเดตประเภทในไฟล์ประเภทหลายครั้งในเซสชันเดียวกัน
คำสั่งแรกจะอัปเดตการกำหนดค่าประเภทเพิ่มเติมจากไฟล์ Types.ps1xml โดยประมวลผลไฟล์ TypesA.types.ps1xml และ TypesB.types.ps1xml อันดับแรก.
คำสั่งที่สองจะแสดงวิธีอัปเดต TypesA.types.ps1xml อีกครั้ง เช่น คุณอาจต้องดำเนินการหากคุณเพิ่มหรือเปลี่ยนแปลงประเภทในไฟล์ คุณสามารถทำซ้ำคำสั่งก่อนหน้าสำหรับไฟล์ TypesA.types.ps1xml หรือเรียกใช้คำสั่ง Update-TypeData โดยไม่มีพารามิเตอร์ เนื่องจาก TypesA.types.ps1xml อยู่ในรายการไฟล์ประเภทสำหรับเซสชันปัจจุบันแล้ว
Update-TypeData -PrependPath TypesA.types.ps1xml, TypesB.types.ps1xml
Update-TypeData -PrependPath TypesA.types.ps1xmlตัวอย่างที่ 3: เพิ่มคุณสมบัติสคริปต์ให้กับวัตถุ DateTime
ตัวอย่างนี้ใช้ Update-TypeData เพื่อเพิ่มคุณสมบัติสคริปต์ Quarter ให้กับอ็อบเจ็กต์ System.DateTime ในเซสชันปัจจุบัน เช่น ที่ส่งคืนโดย < รหัส>รับวันที่ cmdlet
$typeDataParams = @{
TypeName = 'System.DateTime'
MemberType = 'ScriptProperty'
MemberName = 'Quarter'
Value = {
switch ($this.Month) {
{ $_ -in @(1, 2, 3) } { return 'Q1' }
{ $_ -in @(4, 5, 6) } { return 'Q2' }
{ $_ -in @(7, 8, 9) } { return 'Q3' }
default { return 'Q4' }
}
}
}
Update-TypeData @typeDataParams
(Get-Date).Quarter
Q1คำสั่ง Update-TypeData ใช้พารามิเตอร์ TypeName เพื่อระบุประเภท the System.DateTime พารามิเตอร์ MemberName เพื่อระบุ ชื่อของคุณสมบัติใหม่ คุณสมบัติ MemberType เพื่อระบุประเภท ScriptProperty และพารามิเตอร์ Value เพื่อระบุสคริปต์ที่กำหนดไตรมาสประจำปี .
ค่าของคุณสมบัติ Value คือสคริปต์ที่คำนวณไตรมาสประจำปีปัจจุบัน บล็อกสคริปต์ใช้ตัวแปรอัตโนมัติ $this เพื่อแสดงอินสแตนซ์ปัจจุบันของออบเจ็กต์ และใช้ตัวดำเนินการ In เพื่อพิจารณาว่าค่าเดือนปรากฏในอาร์เรย์จำนวนเต็มแต่ละตัวหรือไม่ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวดำเนินการ -in โปรดดู about_Comparison_Operators
คำสั่งที่สองรับคุณสมบัติ Quarter ใหม่ของวันที่ปัจจุบัน
ตัวอย่างที่ 4: อัปเดตประเภทที่แสดงในรายการตามค่าเริ่มต้น
ตัวอย่างนี้แสดงวิธีการตั้งค่าคุณสมบัติของประเภทที่แสดงในรายการตามค่าเริ่มต้น กล่าวคือ เมื่อไม่ได้ระบุคุณสมบัติ เนื่องจากข้อมูลประเภทไม่ได้ระบุในไฟล์ Types.ps1xml จึงมีผลเฉพาะในเซสชันปัจจุบันเท่านั้น
Get-Date | Format-list
Update-TypeData -TypeName "System.DateTime" -DefaultDisplayPropertySet @(
'DateTime'
'DayOfYear'
'Quarter'
)
Get-Date | Format-List
DisplayHint : DateTime
Date : 8/7/2024 12:00:00 AM
Day : 7
DayOfWeek : Wednesday
DayOfYear : 220
Hour : 10
Kind : Local
Millisecond : 568
Microsecond : 308
Nanosecond : 600
Minute : 34
Month : 8
Second : 43
Ticks : 638586236835683086
TimeOfDay : 10:34:43.5683086
Year : 2024
DateTime : Wednesday, August 7, 2024 10:34:43 AM
Quarter : Q3
DateTime : Wednesday, August 7, 2024 10:34:43 AM
DayOfYear : 220
Quarter : Q3คำสั่งแรกจะแสดงมุมมองรายการสำหรับคำสั่ง Get-Date ซึ่งส่งออกอ็อบเจ็กต์ System.DateTime ที่แสดงวันที่ปัจจุบัน คำสั่งใช้ตัวดำเนินการไปป์ไลน์ (|) เพื่อส่งวัตถุ DateTime ไปยัง Format-List cmdlet เนื่องจากคำสั่ง Format-List ไม่ได้ระบุคุณสมบัติที่จะแสดงในรายการ PowerShell จะแสดงคุณสมบัติสาธารณะทั้งหมดที่ไม่ได้ซ่อนไว้สำหรับออบเจ็กต์
คำสั่งที่สองใช้ Update-TypeData cmdlet เพื่อตั้งค่าคุณสมบัติรายการเริ่มต้นสำหรับประเภท System.DateTime คำสั่งใช้พารามิเตอร์ TypeName เพื่อระบุประเภทและพารามิเตอร์ DefaultDisplayPropertySet เพื่อระบุคุณสมบัติเริ่มต้นสำหรับรายการ คุณสมบัติที่เลือกมีคุณสมบัติสคริปต์ ไตรมาส ใหม่ที่ถูกเพิ่มในตัวอย่างก่อนหน้านี้
คำสั่งสุดท้ายรับวันที่ปัจจุบันและแสดงในรูปแบบรายการอีกครั้ง โดยจะแสดงเฉพาะคุณสมบัติที่กำหนดไว้ในคำสั่ง Update-TypeData แทนที่จะเป็นรายการคุณสมบัติทั้งหมด
ตัวอย่างที่ 5: ตั้งค่าคุณสมบัติให้ประเภทแสดงในรูปแบบกว้าง
ตัวอย่างนี้สาธิตวิธีการสร้างคุณสมบัติสคริปต์ใหม่และใช้เป็นคุณสมบัติเริ่มต้นที่แสดงเมื่อมีการส่งประเภทไปยัง cmdlet Format-Wide
Get-Command *File* | Format-Wide
Set-AppPackageProvisionedDataFile Set-ProvisionedAppPackageDataFile
Set-ProvisionedAppXDataFile Write-FileSystemCache
Write-FileSystemCache Add-PoshGitToProfile
Block-FileShareAccess Clear-FileStorageTier
Close-SmbOpenFile Debug-FileShare
Disable-NetIPHttpsProfile Enable-NetIPHttpsProfile
Get-FileIntegrity Get-FileShare
Get-FileShareAccessControlEntry Get-FileStorageTier
Get-NetConnectionProfile Get-NetFirewallHyperVProfile
Get-NetFirewallProfile Get-SmbOpenFile
Get-StorageFileServer Get-SupportedFileSystems
Grant-FileShareAccess New-FileShare
New-NetFirewallHyperVProfile New-ScriptFileInfo
New-ScriptFileInfo New-StorageFileServer
Publish-BCFileContent Remove-FileShare
Remove-NetFirewallHyperVProfile Remove-PoshGitFromProfile
Remove-StorageFileServer Repair-FileIntegrity
Revoke-FileShareAccess Set-FileIntegrity
Set-FileShare Set-FileStorageTier
Set-NetConnectionProfile Set-NetFirewallHyperVProfile
Set-NetFirewallProfile Set-StorageBusProfile
Set-StorageFileServer Test-ScriptFileInfo
Test-ScriptFileInfo Unblock-FileShareAccess
Update-ScriptFileInfo Update-ScriptFileInfo
Add-BitsFile Get-AppLockerFileInformation
Get-FileHash Get-PSScriptFileInfo
Import-PowerShellDataFile New-FileCatalog
New-PSRoleCapabilityFile New-PSScriptFileInfo
New-PSSessionConfigurationFile New-TemporaryFile
Out-File Set-AppXProvisionedDataFile
Test-FileCatalog Test-PSScriptFileInfo
Test-PSSessionConfigurationFile Unblock-File
Update-PSScriptFileInfo FileDialogBroker.exe
FileHistory.exe forfiles.exe
openfiles.exe
$typeDataParams = @{
TypeName = 'System.Management.Automation.CommandInfo'
DefaultDisplayProperty = 'FullyQualifiedName'
MemberType = 'ScriptProperty'
MemberName = 'FullyQualifiedName'
Value = {
[OutputType([string])]
param()
# For executables, return the path to the application.
if ($this -is [System.Management.Automation.ApplicationInfo]) {
return $this.Path
}
# For commands defined outside a module, return only the name.
if ([string]::IsNullOrEmpty($this.ModuleName)) {
return $this.Name
}
# Return the fully-qualified command name "<ModuleName>\<CommandName>"
return '{0}\{1}' -f $this.ModuleName, $this.Name
}
}
Update-TypeData @typeDataParams
Get-Command *File* | Format-Wide
Dism\Set-AppPackageProvisionedDataFile Dism\Set-ProvisionedAppPackageDataFile
Dism\Set-ProvisionedAppXDataFile Storage\Write-FileSystemCache
VMDirectStorage\Write-FileSystemCache posh-git\Add-PoshGitToProfile
Storage\Block-FileShareAccess Storage\Clear-FileStorageTier
SmbShare\Close-SmbOpenFile Storage\Debug-FileShare
NetworkTransition\Disable-NetIPHttpsProfile NetworkTransition\Enable-NetIPHttpsProfile
Storage\Get-FileIntegrity Storage\Get-FileShare
Storage\Get-FileShareAccessControlEntry Storage\Get-FileStorageTier
NetConnection\Get-NetConnectionProfile NetSecurity\Get-NetFirewallHyperVProfile
NetSecurity\Get-NetFirewallProfile SmbShare\Get-SmbOpenFile
Storage\Get-StorageFileServer Storage\Get-SupportedFileSystems
Storage\Grant-FileShareAccess Storage\New-FileShare
NetSecurity\New-NetFirewallHyperVProfile PowerShellGet\New-ScriptFileInfo
PowerShellGet\New-ScriptFileInfo Storage\New-StorageFileServer
BranchCache\Publish-BCFileContent Storage\Remove-FileShare
NetSecurity\Remove-NetFirewallHyperVProfile posh-git\Remove-PoshGitFromProfile
Storage\Remove-StorageFileServer Storage\Repair-FileIntegrity
Storage\Revoke-FileShareAccess Storage\Set-FileIntegrity
Storage\Set-FileShare Storage\Set-FileStorageTier
NetConnection\Set-NetConnectionProfile NetSecurity\Set-NetFirewallHyperVProfile
NetSecurity\Set-NetFirewallProfile StorageBusCache\Set-StorageBusProfile
Storage\Set-StorageFileServer PowerShellGet\Test-ScriptFileInfo
PowerShellGet\Test-ScriptFileInfo Storage\Unblock-FileShareAccess
PowerShellGet\Update-ScriptFileInfo PowerShellGet\Update-ScriptFileInfo
BitsTransfer\Add-BitsFile AppLocker\Get-AppLockerFileInformation
Microsoft.PowerShell.Utility\Get-FileHash Microsoft.PowerShell.PSResourceGet\Get-PSScriptFileInfo
Microsoft.PowerShell.Utility\Import-PowerShellDataFile Microsoft.PowerShell.Security\New-FileCatalog
Microsoft.PowerShell.Core\New-PSRoleCapabilityFile Microsoft.PowerShell.PSResourceGet\New-PSScriptFileInfo
Microsoft.PowerShell.Core\New-PSSessionConfigurationFile Microsoft.PowerShell.Utility\New-TemporaryFile
Microsoft.PowerShell.Utility\Out-File Dism\Set-AppXProvisionedDataFile
Microsoft.PowerShell.Security\Test-FileCatalog Microsoft.PowerShell.PSResourceGet\Test-PSScriptFileInfo
Microsoft.PowerShell.Core\Test-PSSessionConfigurationFile Microsoft.PowerShell.Utility\Unblock-File
Microsoft.PowerShell.PSResourceGet\Update-PSScriptFileInfo C:\WINDOWS\system32\FileDialogBroker.exe
C:\WINDOWS\system32\FileHistory.exe C:\WINDOWS\system32\forfiles.exe
C:\WINDOWS\system32\openfiles.exeคำสั่งแรกใช้ Get-Command cmdlet เพื่อส่งคืนทุกคำสั่งด้วยชื่อที่มีคำว่า File โดยส่งเอาต์พุตไปที่ Format-Wide cmdlet ซึ่งแสดงชื่อของคำสั่งในคอลัมน์
ต่อไป ตัวอย่างใช้ Update-TypeData เพื่อกำหนดทั้ง DefaultDisplayProperty และคุณสมบัติสคริปต์ใหม่สำหรับประเภท CommandInfo ผลลัพธ์สำหรับ Get-Command ส่งคืนอ็อบเจ็กต์ CommandInfo และอ็อบเจ็กต์ที่ได้รับมาจากประเภทนั้น คุณสมบัติสคริปต์ใหม่ FullyQualifiedName ส่งคืนเส้นทางแบบเต็มไปยังแอปพลิเคชันที่ปฏิบัติการได้และชื่อแบบเต็มสำหรับ cmdlets ซึ่งนำหน้าชื่อ cmdlet ด้วยโมดูลที่กำหนด Update-TypeData cmdlet สามารถกำหนดคุณสมบัติสคริปต์ใหม่และใช้เป็น DefaultDisplayProperty ในคำสั่งเดียวกัน
สุดท้าย ผลลัพธ์จะแสดงผลลัพธ์ของ Get-Command ที่แสดงในรูปแบบกว้างหลังจากการอัปเดตประเภท โดยจะแสดงชื่อแบบเต็มสำหรับ cmdlets และเส้นทางแบบเต็มไปยังแอปพลิเคชันที่ปฏิบัติการได้
ตัวอย่างที่ 6: อัปเดตข้อมูลประเภทสำหรับวัตถุไปป์
$typeDataParams = @{
MemberType = 'ScriptProperty'
MemberName = 'SupportsUpdatableHelp'
Value = {
[OutputType([bool])]
param()
return (-not [string]::IsNullOrEmpty($this.HelpInfoUri))
}
}
Get-Module Microsoft.PowerShell.Utility | Update-TypeData @typeDataParams
Get-Module -ListAvailable -Name Microsoft.PowerShell.* |
Format-Table Name, SupportsUpdatableHelp
Name SupportsUpdatableHelp
---- ---------------------
Microsoft.PowerShell.Archive True
Microsoft.PowerShell.Diagnostics True
Microsoft.PowerShell.Host True
Microsoft.PowerShell.Management True
Microsoft.PowerShell.PSResourceGet True
Microsoft.PowerShell.Security True
Microsoft.PowerShell.Utility True
Microsoft.PowerShell.Operation.Validation True
Microsoft.PowerShell.LocalAccounts True
ตัวอย่างนี้แสดงให้เห็นว่าเมื่อคุณไปป์วัตถุไปที่ Update-TypeData, Update-TypeData จะเพิ่มข้อมูลประเภทขยายสำหรับประเภทวัตถุ
เทคนิคนี้เร็วกว่าการใช้ cmdlet Get-Member หรือวิธี Get-Type เพื่อรับประเภทวัตถุ อย่างไรก็ตาม หากคุณไปป์คอลเลกชันของออบเจ็กต์ไปที่ Update-TypeData มันจะอัปเดตข้อมูลประเภทของออบเจ็กต์ประเภทแรก จากนั้นส่งคืนข้อผิดพลาดสำหรับออบเจ็กต์อื่น ๆ ทั้งหมดในคอลเลกชันเนื่องจากมีการกำหนดสมาชิกไว้แล้ว ประเภท
คำสั่งแรกใช้ Get-Module cmdlet เพื่อรับโมดูล Microsoft.PowerShell.Utility คำสั่งไปป์วัตถุโมดูลไปที่ Update-TypeData cmdlet ซึ่งจะอัปเดตข้อมูลประเภทสำหรับประเภท System.Management.Automation.PSModuleInfo และประเภทที่ได้รับมา เช่น เนื่องจากประเภท ModuleInfoGrouping ที่ Get-Module ส่งคืนเมื่อคุณใช้พารามิเตอร์ ListAvailable ในคำสั่ง
คำสั่ง Update-TypeData จะเพิ่มคุณสมบัติสคริปต์ SupportsUpdatableHelp ให้กับโมดูลที่นำเข้าทั้งหมด ค่าของพารามิเตอร์ Value คือสคริปต์ที่ส่งคืน $true หากคุณสมบัติ HelpInfoUri ของโมดูลถูกเติมและ $false มิฉะนั้น
คำสั่งที่สองไปป์วัตถุโมดูลจาก Get-Module ไปยัง Format-Table cmdlet ซึ่งแสดง Name และ SupportsUpdatableHelp คุณสมบัติของโมดูลที่มีอยู่
พารามิเตอร์
-AppendPath
ระบุเส้นทางไปยังไฟล์ .ps1xml เสริม ไฟล์ที่ระบุจะถูกโหลดตามลำดับที่แสดงไว้หลังจากโหลดไฟล์ในตัวแล้ว คุณยังสามารถไพพ์ค่า AppendPath ไปที่ Update-TypeData ได้ด้วย
- พิมพ์ :
String[]
- นามแฝง :
PSPath, Path
- ตำแหน่ง:
0
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-Confirm
แจ้งให้คุณยืนยันก่อนเรียกใช้ cmdlet
- พิมพ์ :
SwitchParameter
- นามแฝง :
cf
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-DefaultDisplayProperty
ระบุคุณสมบัติของประเภทที่แสดงโดย cmdlet Format-Wide เมื่อไม่ได้ระบุคุณสมบัติอื่น ๆ
พิมพ์ชื่อของคุณสมบัติมาตรฐานหรือคุณสมบัติเพิ่มเติมของชนิด ค่าของพารามิเตอร์นี้สามารถเป็นชื่อของประเภทที่เพิ่มในคำสั่งเดียวกัน
ค่านี้จะมีผลเฉพาะเมื่อไม่มีการกำหนดมุมมองแบบกว้างสำหรับประเภทในไฟล์ Format.ps1xml
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
String
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-DefaultDisplayPropertySet
ระบุคุณสมบัติของชนิดตั้งแต่หนึ่งรายการขึ้นไป คุณสมบัติเหล่านี้จะแสดงโดย Format-List, Format-Table และ Format-Custom cmdlets เมื่อไม่ได้ระบุคุณสมบัติอื่น ๆ
พิมพ์ชื่อของคุณสมบัติมาตรฐานหรือคุณสมบัติเพิ่มเติมของชนิด ค่าของพารามิเตอร์นี้สามารถเป็นชื่อของประเภทที่เพิ่มในคำสั่งเดียวกัน
ค่านี้จะมีผลเฉพาะเมื่อไม่มีรายการ ตาราง หรือมุมมองที่กำหนดเอง ตามลำดับ ซึ่งกำหนดไว้สำหรับประเภทในไฟล์ Format.ps1xml
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-DefaultKeyPropertySet
ระบุคุณสมบัติของชนิดตั้งแต่หนึ่งรายการขึ้นไป คุณสมบัติเหล่านี้ถูกใช้โดย cmdlets Group-Object และ Sort-Object เมื่อไม่ได้ระบุคุณสมบัติอื่น ๆ
พิมพ์ชื่อของคุณสมบัติมาตรฐานหรือคุณสมบัติเพิ่มเติมของชนิด ค่าของพารามิเตอร์นี้สามารถเป็นชื่อของประเภทที่เพิ่มในคำสั่งเดียวกัน
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-Force
บ่งชี้ว่า cmdlet ใช้ข้อมูลประเภทที่ระบุ แม้ว่าจะมีการระบุข้อมูลประเภทสำหรับประเภทนั้นแล้วก็ตาม
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
SwitchParameter
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-InheritPropertySerializationSet
บ่งชี้ว่าชุดของคุณสมบัติที่เป็นอนุกรมได้รับการสืบทอดมาหรือไม่ ค่าเริ่มต้นคือ $Null ค่าที่ยอมรับได้สำหรับพารามิเตอร์นี้คือ:
- <รหัส>$จริง. ชุดคุณสมบัติได้รับการสืบทอดมา
- <รหัส>$เท็จ. ชุดคุณสมบัติไม่ได้รับการสืบทอด
- <รหัส>$ค่าว่าง. มรดกไม่ได้ถูกกำหนดไว้
พารามิเตอร์นี้ใช้ได้เฉพาะเมื่อค่าของพารามิเตอร์ SerializationMethod เป็น SpecificProperties เมื่อค่าของพารามิเตอร์นี้เป็น $False จำเป็นต้องมีพารามิเตอร์ PropertySerializationSet
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
มีค่าเป็นโมฆะ
[บูลีน] - ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-MemberName
ระบุชื่อของคุณสมบัติหรือวิธีการ
ใช้พารามิเตอร์นี้กับพารามิเตอร์ TypeName, MemberType, Value และ SecondValue เพื่อเพิ่มหรือเปลี่ยนแปลงคุณสมบัติหรือเมธอดของ ประเภท
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
String
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-MemberType
ระบุประเภทของสมาชิกที่จะเพิ่มหรือเปลี่ยนแปลง
ใช้พารามิเตอร์นี้กับพารามิเตอร์ TypeName, MemberType, Value และ SecondValue เพื่อเพิ่มหรือเปลี่ยนแปลงคุณสมบัติหรือเมธอดของ ประเภท ค่าที่ยอมรับได้สำหรับพารามิเตอร์นี้คือ:
- AliasProperty
- CodeMethod
- CodeProperty
- หมายเหตุคุณสมบัติ
- ScriptMethod
- ScriptProperty
สำหรับข้อมูลเกี่ยวกับค่าเหล่านี้ โปรดดูที่ การแจงนับ PSMemberTypes
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
PSMemberTypes
- ค่าที่ยอมรับ:
NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-PrependPath
ระบุเส้นทางไปยังไฟล์ .ps1xml เสริม ไฟล์ที่ระบุจะถูกโหลดตามลำดับที่ระบุไว้ก่อนที่จะโหลดไฟล์ในตัว
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-PropertySerializationSet
ระบุชื่อของคุณสมบัติที่เป็นอนุกรม ใช้พารามิเตอร์นี้เมื่อค่าของพารามิเตอร์ SerializationMethod เป็น SpecificProperties
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-SecondValue
ระบุค่าเพิ่มเติมสำหรับสมาชิก AliasProperty, ScriptProperty, CodeProperty หรือ CodeMethod
ใช้พารามิเตอร์นี้กับพารามิเตอร์ TypeName, MemberType, Value และ SecondValue เพื่อเพิ่มหรือเปลี่ยนแปลงคุณสมบัติหรือเมธอด ประเภท
เมื่อค่าของพารามิเตอร์ MemberType คือ AliasProperty ค่าของพารามิเตอร์ SecondValue จะต้องเป็นประเภทข้อมูล PowerShell แปลง (นั่นคือ แคสต์) ค่าของคุณสมบัตินามแฝงให้เป็นประเภทที่ระบุ ตัวอย่างเช่น หากคุณเพิ่มคุณสมบัตินามแฝงที่ให้ชื่ออื่นสำหรับคุณสมบัติสตริง คุณยังสามารถระบุ SecondValue ของ System.Int32 เพื่อแปลงค่าสตริงนามแฝงเป็น จำนวนเต็ม
เมื่อค่าของพารามิเตอร์ MemberType คือ ScriptProperty คุณสามารถใช้พารามิเตอร์ SecondValue เพื่อระบุบล็อกสคริปต์เพิ่มเติมได้ บล็อกสคริปต์ในค่าของพารามิเตอร์ ค่า รับค่าของตัวแปร บล็อกสคริปต์ในค่าของพารามิเตอร์ SecondValue จะตั้งค่าของตัวแปร
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
วัตถุ
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-SerializationDepth
ระบุจำนวนประเภทอ็อบเจ็กต์ที่ถูกซีเรียลไลซ์เป็นสตริง ค่าเริ่มต้น 1 ทำให้วัตถุเป็นอนุกรมและคุณสมบัติของมัน ค่า 0 จะทำให้วัตถุเป็นอนุกรม แต่ไม่ใช่คุณสมบัติของวัตถุ ค่า 2 ทำให้วัตถุเป็นอนุกรม คุณสมบัติของมัน และวัตถุใดๆ ในค่าคุณสมบัติ
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
Int32
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
1
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-SerializationMethod
ระบุวิธีการซีเรียลไลซ์สำหรับประเภท วิธีการซีเรียลไลซ์จะกำหนดคุณสมบัติของประเภทที่จะซีเรียลไลซ์และเทคนิคที่ใช้ในการซีเรียลไลซ์ ค่าที่ยอมรับได้สำหรับพารามิเตอร์นี้คือ:
- <รหัส>คุณสมบัติสาธารณะทั้งหมด ทำให้คุณสมบัติสาธารณะทั้งหมดของประเภทเป็นอนุกรม คุณสามารถใช้พารามิเตอร์ SerializationDepth เพื่อกำหนดว่าคุณสมบัติย่อยเป็นแบบซีเรียลไลซ์หรือไม่
- <รหัส>สตริง ทำให้อนุกรมประเภทเป็นสตริง คุณสามารถใช้ StringSerializationSource เพื่อระบุคุณสมบัติประเภทที่จะใช้เป็นผลลัพธ์การทำให้เป็นอนุกรม มิฉะนั้น ชนิดจะถูกทำให้เป็นอนุกรมโดยใช้เมธอด ToString ของออบเจ็กต์
- <รหัส>คุณสมบัติเฉพาะ ทำให้เป็นอนุกรมเฉพาะคุณสมบัติที่ระบุของประเภทนี้ ใช้พารามิเตอร์ PropertySerializationSet เพื่อระบุคุณสมบัติของประเภทที่ทำให้เป็นอนุกรม คุณยังสามารถใช้พารามิเตอร์ InheritPropertySerializationSet เพื่อตรวจสอบว่าชุดคุณสมบัติได้รับการสืบทอดมาหรือไม่ และใช้พารามิเตอร์ SerializationDepth เพื่อกำหนดว่าคุณสมบัติย่อยเป็นแบบอนุกรมหรือไม่
ใน PowerShell วิธีการทำให้เป็นอนุกรมจะถูกจัดเก็บไว้ในวัตถุภายใน PSStandardMembers
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
String
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-StringSerializationSource
ระบุชื่อของคุณสมบัติของชนิด ค่าของคุณสมบัติที่ระบุถูกใช้เป็นผลลัพธ์การทำให้เป็นอนุกรม พารามิเตอร์นี้ใช้ได้เฉพาะเมื่อค่าของพารามิเตอร์ SerializationMethod เป็น String
- พิมพ์ :
String
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-TargetTypeForDeserialization
ระบุประเภทที่ออบเจ็กต์ประเภทนี้จะถูกแปลงเมื่อมีการดีซีเรียลไลซ์
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
พิมพ์
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-TypeAdapter
ระบุประเภทของอะแดปเตอร์ประเภท เช่น Microsoft.PowerShell.Cim.CimInstanceAdapter อะแดปเตอร์ชนิดช่วยให้ PowerShell สามารถรับสมาชิกของประเภทได้
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
พิมพ์
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-TypeConverter
ระบุตัวแปลงประเภทเพื่อแปลงค่าระหว่างประเภทต่างๆ หากมีการกำหนดตัวแปลงชนิดสำหรับประเภท อินสแตนซ์ของตัวแปลงชนิดจะถูกใช้สำหรับการแปลง
ป้อนค่า System.Type ที่ได้มาจากคลาส System.ComponentModel.TypeConverter หรือ System.Management.Automation.PSTypeConverter
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
พิมพ์
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-TypeData
ระบุอาร์เรย์ของข้อมูลชนิดที่ cmdlet นี้เพิ่มในเซสชัน ป้อนตัวแปรที่มีวัตถุ TypeData หรือคำสั่งที่ได้รับวัตถุ TypeData เช่น คำสั่ง Get-TypeData คุณยังสามารถไปป์วัตถุ TypeData ไปที่ Update-TypeData
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
ประเภทข้อมูล[]
- ตำแหน่ง:
0
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-TypeName
ระบุชื่อของชนิดที่จะขยาย
สำหรับประเภทในเนมสเปซ ระบบ ให้ป้อนชื่อย่อ มิฉะนั้น จะต้องระบุชื่อเต็ม ไม่รองรับไวด์การ์ด
คุณสามารถไปป์ชื่อประเภทไปยัง Update-TypeData เมื่อคุณไปป์วัตถุไปที่ Update-TypeData, Update-TypeData จะได้รับชื่อประเภทของวัตถุและพิมพ์ข้อมูลไปยังประเภทวัตถุ
ใช้พารามิเตอร์นี้กับพารามิเตอร์ MemberName, MemberType, Value และ SecondValue เพื่อเพิ่มหรือเปลี่ยนแปลงคุณสมบัติหรือเมธอดของ ประเภท
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
String
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-Value
ระบุค่าของคุณสมบัติหรือวิธีการ
หากคุณเพิ่มสมาชิก AliasProperty, CodeProperty, ScriptProperty หรือ CodeMethod คุณสามารถใช้ SecondValue เพื่อเพิ่มข้อมูลเพิ่มเติม
ใช้พารามิเตอร์นี้กับพารามิเตอร์ MemberName, MemberType, Value และ SecondValue เพื่อเพิ่มหรือเปลี่ยนแปลงคุณสมบัติหรือเมธอดของ ประเภท
พารามิเตอร์นี้ถูกนำมาใช้ใน Windows PowerShell 3.0
- พิมพ์ :
วัตถุ
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-WhatIf
แสดงสิ่งที่จะเกิดขึ้นหาก cmdlet ทำงาน cmdlet ไม่ทำงาน
- พิมพ์ :
SwitchParameter
- นามแฝง :
wi
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
อินพุต
สตริง
คุณสามารถไปป์สตริงที่มีค่าของพารามิเตอร์ AppendPath, TypeName หรือ TypeData ไปยัง cmdlet นี้
เอาท์พุต
ไม่มี
cmdlet นี้ส่งคืนไม่มีผลลัพธ์