Update-TypeData
更新會話中的擴充型別數據。
語法
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>]
Description
Cmdlet 會將 Update-TypeData
檔案重載 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 來取得目前會話中的擴充類型,以及從目前會話刪除擴充型別的 Remove-TypeData
Cmdlet。
在屬性中發生的例外狀況,或從將屬性新增至 Update-TypeData
命令時,不會報告錯誤。 這是在格式化和輸出期間,隱藏許多常見類型的例外狀況。 如果您要取得 .NET 屬性,您可以改用方法來因應例外狀況,如下列範例所示:
"hello".get_Length()
請注意,方法語法只能與 .NET 屬性搭配使用。 執行 Update-TypeData
Cmdlet 新增的屬性無法使用方法語法。
如需 PowerShell 中檔案的詳細資訊 Types.ps1xml
,請參閱 about_Types.ps1xml。
範例
範例 1:更新擴充類型
Update-TypeData
此命令會從 Types.ps1xml
會話中已使用的檔案更新擴充類型組態。
範例 2:多次更新類型
這個範例示範如何在相同會話中多次更新類型檔案中的類型。
第一個命令會從 Types.ps1xml
檔案更新擴充類型組態,並先處理 TypesA.types.ps1xml
和 TypesB.types.ps1xml
檔案。
第二個命令會示範如何再次更新 TypesA.types.ps1xml
,例如,如果您在檔案中新增或變更類型,您可能會這麼做。 您可以針對檔案重複上一個Update-TypeData
命令,或執行不含參數的命令TypesA.types.ps1xml
,因為TypesA.types.ps1xml
已在目前會話的類型檔案清單中。
Update-TypeData -PrependPath TypesA.types.ps1xml, TypesB.types.ps1xml
Update-TypeData -PrependPath TypesA.types.ps1xml
範例 3:將腳本屬性新增至 DateTime 物件
這個範例會使用 將 Quarter 腳本屬性新增至目前會話中的 System.DateTime 物件,例如 Cmdlet 所傳回的物件Get-Date
。Update-TypeData
$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 參數來指定 System.DateTime 類型、MemberName 參數來指定新屬性的名稱、指定 ScriptProperty 類型的 MemberType 屬性,以及指定 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 參數,以指定清單的預設屬性。 選取的屬性包含先前範例中新增的新 Quarter 腳本屬性。
最後一個命令會取得目前的日期,並再次以清單格式顯示它。 它只會顯示命令中 Update-TypeData
定義的屬性,而不是屬性的完整清單。
範例 5:設定類型以寬格式顯示的屬性
此範例示範如何建立新的腳本屬性,並在類型傳遞至 Format-Wide
Cmdlet 時將其當做預設屬性使用。
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,以顯示資料行中命令的名稱。
接下來,此範例會使用 來定義 CommandInfo 類型的 DefaultDisplayProperty 和新腳本屬性。Update-TypeData
的 Get-Command
輸出會 傳回從該類型衍生的 CommandInfo 對象和物件。 新的腳本屬性 FullQualifiedName 會傳回可執行檔應用程式的完整路徑,以及 Cmdlet 的完整名稱,其前置詞為 Cmdlet 名稱與定義它的模組。 Cmdlet Update-TypeData
能夠定義新的腳本屬性,並在相同的命令中將其當做 DefaultDisplayProperty 使用。
最後,輸出會顯示在類型更新之後以寬格式顯示的結果 Get-Command
。 它會顯示 Cmdlet 的完整名稱,以及可執行應用程式的完整路徑。
範例 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
會新增物件類型的擴充類型數據。
這項技術比使用 Get-Member
Cmdlet 或 Get-Type
方法來取得物件類型更快。 不過,如果您使用管線將 物件的集合傳送至 Update-TypeData
,它會更新第一個物件類型的類型數據,然後傳回集合中所有其他對象的錯誤,因為該成員已在類型上定義。
第一個命令會 Get-Module
使用 Cmdlet 來取得 Microsoft.PowerShell.Utility 模組。
命令會將模組物件管線傳送至 Update-TypeData
Cmdlet,它會更新 System.Management.Automation.PSModuleInfo 類型的類型數據,以及衍生自它的類型,例如當您在命令中使用 ListAvailable 參數時所傳回的 ModuleInfoGrouping 類型Get-Module
。
Update-TypeData
命令會將 SupportsUpdatableHelp 腳本屬性新增至所有匯入的模組。 Value 參數的值是腳本,如果模組的 HelpInfoUri 屬性已填入,$false
則傳回 ,否則傳回 $true
。
第二個命令會將模組對象從 Get-Module
管線傳送至 Format-Table
Cmdlet,此 Cmdlet 會顯示 可用模組的 Name 和 SupportsUpdatableHelp 屬性。
參數
-AppendPath
指定選擇性 .ps1xml
檔案的路徑。 指定的檔案會依載入內建檔案之後所列的順序載入。 您也可以使用管線將 AppendPath 值傳送至 Update-TypeData
。
類型: | String[] |
別名: | PSPath, Path |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultDisplayProperty
指定當未指定其他屬性時,Cmdlet 所顯示的 Format-Wide
型別屬性。
輸入類型之標準或擴充屬性的名稱。 此參數的值可以是相同命令中新增的類型名稱。
只有在檔案中 Format.ps1xml
沒有針對類型定義的寬檢視時,這個值才有效。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultDisplayPropertySet
指定型別的一或多個屬性。 當未指定其他屬性時,這些屬性會由 Format-List
、 Format-Table
和 Format-Custom
Cmdlet 顯示。
輸入型別的標準或擴充屬性名稱。 此參數的值可以是相同命令中新增的類型名稱。
只有在沒有針對檔案中 Format.ps1xml
類型定義的清單、數據表或自定義檢視時,這個值才有效。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultKeyPropertySet
指定型別的一或多個屬性。 當未指定其他屬性時,和 Sort-Object
Cmdlet 會使用這些Group-Object
屬性。
輸入型別的標準或擴充屬性名稱。 此參數的值可以是相同命令中新增的類型名稱。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
表示 Cmdlet 會使用指定的型別數據,即使該類型已經指定類型數據也一樣。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InheritPropertySerializationSet
指出是否繼承串行化的屬性集。 預設值是 $Null
。 此參數可接受的值為:
$True
. 屬性集是繼承的。$False
. 不會繼承屬性集。$Null
. 未定義繼承。
只有當 SerializationMethod 參數的值是 SpecificProperties
時,此參數才有效。 當此參數的值是 $False
時, 需要 PropertySerializationSet 參數。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Nullable<T>[Boolean] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MemberName
指定屬性或方法的名稱。
搭配 TypeName、 MemberType、 Value 和 SecondValue 參數使用此參數,以新增或變更類型的屬性或方法。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MemberType
指定要新增或變更的成員類型。
搭配 TypeName、 MemberType、 Value 和 SecondValue 參數使用此參數,以新增或變更類型的屬性或方法。 此參數可接受的值為:
- AliasProperty
- CodeMethod
- CodeProperty
- Noteproperty
- ScriptMethod
- ScriptProperty
如需這些值的相關信息,請參閱 PSMemberTypes 列舉。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | PSMemberTypes |
接受的值: | NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PrependPath
指定選擇性 .ps1xml
檔案的路徑。 指定的檔案會依照載入內建檔案之前所列的順序載入。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PropertySerializationSet
指定串行化的屬性名稱。 當 SerializationMethod 參數的值是 SpecificProperties 時,請使用此參數。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SecondValue
指定 AliasProperty、ScriptProperty、CodeProperty 或 CodeMethod 成員的其他值。
搭配 TypeName、 MemberType、 Value 和 SecondValue 參數使用此參數,以新增或變更類型的屬性或方法。
當 MemberType 參數的值是 AliasProperty
時,SecondValue 參數的值必須是數據類型。 PowerShell 會將別名屬性的值轉換成指定的型別。 例如,如果您新增別名屬性來提供字串屬性的替代名稱,您也可以指定 System.Int32 的 SecondValue,將別名字符串值轉換成整數。
當 MemberType 參數的值是 ScriptProperty
時,您可以使用 SecondValue 參數來指定額外的腳本區塊。 Value 參數值中的腳本區塊會取得變數的值。 SecondValue 參數值中的腳本區塊會設定變數的值。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Object |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SerializationDepth
指定類型物件的層級串行化為字串的數目。 預設值 1
會串行化 物件及其屬性。 的值 0
會串行化物件,但不會串行化其屬性。 的值 2
會串行化 物件、其屬性,以及屬性值中的任何物件。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Int32 |
Position: | Named |
預設值: | 1 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SerializationMethod
指定型別的串行化方法。 串行化方法會決定要串行化型別的屬性,以及用來串行化這些屬性的技術。 此參數可接受的值為:
AllPublicProperties
. 串行化類型的所有公用屬性。 您可以使用 SerializationDepth 參數來判斷子屬性是否串行化。String
. 將型別串行化為字串。 您可以使用 StringSerializationSource 來指定要作為串行化結果之型別的屬性。 否則,型別會使用 物件的ToString 方法串行化。SpecificProperties
. 只串行化這個型別的指定屬性。 使用 PropertySerializationSet 參數來指定串行化類型的屬性。 您也可以使用 InheritPropertySerializationSet 參數來判斷屬性集是否繼承,以及 SerializationDepth 參數來判斷子屬性是否串行化。
在 PowerShell 中,串行化方法會儲存在 PSStandardMembers 內部物件中。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-StringSerializationSource
指定型別的屬性名稱。 指定屬性的值會當做串行化結果使用。 只有當 SerializationMethod 參數的值是 String 時,此參數才有效。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TargetTypeForDeserialization
指定還原串行化時,這個型別物件轉換的目標型別。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Type |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TypeAdapter
指定類型配接器的類型,例如 Microsoft.PowerShell.Cim.CimInstanceAdapter。 類型配接器可讓PowerShell取得類型的成員。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Type |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TypeConverter
指定要在不同類型之間轉換值的型別轉換子。 如果為類型定義型別轉換子,則會使用型別轉換器的實例進行轉換。
輸入衍生自 System.ComponentModel.TypeConverter 或 System.Management.Automation.PSTypeConverter 類別的 System.Type 值。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Type |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-TypeData
指定此 Cmdlet 新增至工作階段的型別資料陣列。 輸入包含 TypeData 物件的變數,或取得 TypeData 物件的命令,例如Get-TypeData
命令。 您也可以使用管線將 TypeData 物件傳送至 Update-TypeData
。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | TypeData[] |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-TypeName
指定要擴充的類型名稱。
針對 System 命名空間中的類型,輸入簡短名稱。 否則,需要完整類型名稱。 不支援萬用字元。
您可以使用管線將類型名稱傳送至 Update-TypeData
。 當您使用管線將 物件傳送至 Update-TypeData
時, Update-TypeData
取得物件的型別名稱,並將類型數據傳送至物件類型。
搭配 MemberName、 MemberType、 Value 和 SecondValue 參數使用此參數,以新增或變更類型的屬性或方法。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Value
指定屬性或方法的值。
如果您新增 AliasProperty
、 CodeProperty
、 ScriptProperty
或 CodeMethod
成員,您可以使用 SecondValue 參數來新增其他資訊。
搭配 MemberName、 MemberType、 Value 和 SecondValue 參數使用此參數,以新增或變更類型的屬性或方法。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Object |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線將包含 AppendPath、TypeName 或 TypeData 參數值的字串傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。