共用方式為


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.ps1xmlTypesB.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-DateUpdate-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 腳本屬性。

最後一個命令會取得 currnet 日期,並再次以清單格式顯示它。 它只會顯示命令中 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-TypeDataGet-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 會顯示 可用模組的 NameSupportsUpdatableHelp 屬性。

參數

-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-ListFormat-TableFormat-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

指定屬性或方法的名稱。

搭配 TypeNameMemberTypeValueSecondValue 參數使用此參數,以新增或變更類型的屬性或方法。

此參數是在 Windows PowerShell 3.0 中引進的。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MemberType

指定要新增或變更的成員類型。

搭配 TypeNameMemberTypeValueSecondValue 參數使用此參數,以新增或變更類型的屬性或方法。 此參數可接受的值為:

  • 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 成員的其他值

搭配 TypeNameMemberTypeValueSecondValue 參數使用此參數,以新增或變更類型的屬性或方法。

當 MemberType 參數的值AliasProperty時,SecondValue 參數的值必須是數據類型。 PowerShell 會將別名屬性的值轉換成指定的型別。 例如,如果您新增別名屬性來提供字串屬性的替代名稱,您也可以指定 System.Int32SecondValue,將別名字符串值轉換成整數。

當 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.TypeConverterSystem.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 取得物件的型別名稱,並將類型數據傳送至物件類型。

搭配 MemberNameMemberTypeValueSecondValue 參數使用此參數,以新增或變更類型的屬性或方法。

此參數是在 Windows PowerShell 3.0 中引進的。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:True
接受萬用字元:False

-Value

指定屬性或方法的值。

如果您新增 AliasPropertyCodePropertyScriptPropertyCodeMethod 成員,您可以使用 SecondValue 參數來新增其他資訊。

搭配 MemberNameMemberTypeValueSecondValue 參數使用此參數,以新增或變更類型的屬性或方法。

此參數是在 Windows PowerShell 3.0 中引進的。

類型:Object
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

輸入

String

您可以使用管線將包含 AppendPathTypeNameTypeData 參數值的字串傳送至此 Cmdlet。

輸出

None

此 Cmdlet 不會傳回任何輸出。