Update-TypeData

セッション内の拡張型データを更新します。

構文

FileSet (既定)

Update-TypeData
    [[-AppendPath] <String[]>]
    [-PrependPath <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

DynamicTypeSet

Update-TypeData
    -TypeName <String>
    [-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[]>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

TypeDataSet

Update-TypeData
    [-TypeData] <TypeData[]>
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

説明

Update-TypeData コマンドレットは、Types.ps1xml ファイルをメモリに再読み込みし、新しい拡張型データを追加することで、セッション内の拡張型データを更新します。

既定では、PowerShell は必要に応じて拡張型データを読み込みます。 パラメーターがない場合、Update-TypeData は、セッションに読み込まれたすべての Types.ps1xml ファイル (追加したすべての型ファイルを含む) を再読み込みします。 Update-TypeData のパラメーターを使用して、新しい型ファイルを追加したり、拡張型データを追加および置換したりできます。

Update-TypeData コマンドレットを使用して、すべての型データをプリロードできます。 この機能は、型を開発していて、テスト目的でこれらの新しい型を読み込む場合に特に便利です。

Windows PowerShell 3.0 以降では、Update-TypeData を使用して、Types.ps1xml ファイルを使用せずに、セッション内の拡張型データを追加および置換できます。 動的に追加される型データ (つまり、ファイルがない場合) は、現在のセッションにのみ追加されます。 すべてのセッションに型データを追加するには、PowerShell プロファイルに Update-TypeData コマンドを追加します。 詳細については、about_Profilesを参照してください。

また、Windows PowerShell 3.0 以降では、Get-TypeData コマンドレットを使用して現在のセッションの拡張型を取得し、Remove-TypeData コマンドレットを使用して現在のセッションから拡張型を削除できます。

プロパティで発生する例外、またはプロパティを Update-TypeData コマンドに追加した場合は、エラーは報告されません。 これは、書式設定と出力中に多くの一般的な型で発生する例外を抑制するためです。 .NET プロパティを取得する場合は、次の例に示すように、代わりにメソッド構文を使用して例外の抑制を回避できます。

"hello".get_Length()

メソッドの構文は、.NET プロパティでのみ使用できることに注意してください。 Update-TypeData コマンドレットを実行して追加されたプロパティは、メソッド構文を使用できません。

PowerShell の Types.ps1xml ファイルの詳細については、「about_Types.ps1xml」を参照してください。

例

例 1: 拡張型を更新する

Update-TypeData

このコマンドは、セッションで既に使用されている Types.ps1xml ファイルから拡張型の構成を更新します。

例 2: 型を複数回更新する

この例では、同じセッションで型ファイル内の型を複数回更新する方法を示します。

最初のコマンドは、Types.ps1xml ファイルから拡張型の構成を更新し、最初に TypesA.types.ps1xml ファイルと TypesB.types.ps1xml ファイルを処理します。

2 番目のコマンドは、ファイル内の型を追加または変更した場合に行う場合など、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 を使用して、 コマンドレットによって返されるオブジェクトなど、現在のセッションの System.DateTime オブジェクトを する Get-Date スクリプト プロパティを追加します。

$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 パラメーター、MemberType プロパティを使用して、ScriptProperty 型を指定し、Value パラメーターを使用して、年間四半期を決定するスクリプトを指定します。

Value プロパティの値は、現在の年間四半期を計算するスクリプトです。 scriptblock は、 $this 自動変数を使用してオブジェクトの現在のインスタンスを表し、In 演算子を使用して、月の値が各整数配列に表示されるかどうかを判断します。 -in 演算子の詳細については、about_Comparison_Operatorsを参照してください。

2 番目のコマンドは、現在の日付の新しい 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 コマンドレットに送信します。 Format-List コマンドでは一覧に表示するプロパティが指定されていないため、PowerShell はオブジェクトのすべてのパブリックプロパティ(非表示ではないプロパティ)を表示します。

2 番目のコマンドでは、Update-TypeData コマンドレットを使用して、System.DateTime 型の既定のリスト プロパティを設定します。 このコマンドでは、TypeName パラメーターを使用して型を指定し、DefaultDisplayPropertySet パラメーターを使用してリストの既定のプロパティを指定します。 選択したプロパティには、前の例で追加した新しい Quarter スクリプト プロパティが含まれます。

最後のコマンドは現在の日付を取得し、リスト形式で再び表示します。 プロパティの完全な一覧ではなく、Update-TypeData コマンドで定義されているプロパティのみが表示されます。

例 5: 型がワイド形式で表示するプロパティを設定する

この例では、新しいスクリプト プロパティを作成し、型が 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 コマンドレットを使用して、Fileという単語を含む名前を持つすべてのコマンドを返します。 出力を Format-Wide コマンドレットにパイプ処理し、コマンドの名前を列に表示します。

次に、Update-TypeData を使用して、DefaultDisplayProperty と、CommandInfo 型の新しいスクリプト プロパティの両方を定義します。 Get-Command の出力は、その型から派生 オブジェクトとオブジェクト CommandInfo を返します。 新しいスクリプト プロパティ FullyQualifiedNameは、実行可能アプリケーションへの完全なパスとコマンドレットの完全修飾名を返します。コマンドレット名の前には、それを定義するモジュールが付いています。 Update-TypeData コマンドレットは、新しいスクリプト プロパティを定義し、同じコマンドで DefaultDisplayProperty として使用できます。

最後に、出力には、型の更新後にワイド形式で表示される Get-Command の結果が表示されます。 コマンドレットの完全修飾名と、実行可能アプリケーションへの完全なパスが表示されます。

例 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 コマンドレットまたは Get-Type メソッドを使用してオブジェクトの種類を取得するよりも高速です。 ただし、オブジェクトのコレクションをパイプ処理して Update-TypeDataすると、最初のオブジェクト型の型データが更新され、その型に対してメンバーが既に定義されているため、コレクション内の他のすべてのオブジェクトに対してエラーが返されます。

最初のコマンドでは、Get-Module コマンドレットを使用して、Microsoft.PowerShell.Utility モジュールを取得します。 このコマンドは、Update-TypeData コマンドレットにモジュール オブジェクトをパイプします。これにより、System.Management.Automation.PSModuleInfo 型の型データと、そこから派生した型 (コマンドで ListAvailable パラメーターを使用するときに返 Get-ModuleModuleInfoGrouping 型など) が更新されます。

Update-TypeData コマンドは、インポートされたすべてのモジュールに SupportsUpdatableHelp スクリプト プロパティを追加します。 Value パラメーターの値は、モジュールの $true プロパティが設定されている場合に を返し、それ以外の場合は $false スクリプトです。

2 番目のコマンドは、モジュール オブジェクトを Get-Module から Format-Table コマンドレットにパイプ処理します。このコマンドレットには、使用可能なモジュールの Name プロパティと SupportsUpdatableHelp プロパティ 表示されます。

パラメーター

-AppendPath

オプションの .ps1xml ファイルへのパスを指定します。 指定されたファイルは、組み込みファイルの読み込み後に一覧表示される順序で読み込まれます。 また、AppendPath 値をパイプ処理して、Update-TypeDataすることもできます。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:PSPath, 経路

パラメーター セット

FileSet
配置:0
必須:False
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:cf

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-DefaultDisplayProperty

他のプロパティが指定されていない場合に Format-Wide コマンドレットによって表示される型のプロパティを指定します。

型の標準プロパティまたは拡張プロパティの名前を入力します。 このパラメーターの値には、同じコマンドで追加される型の名前を指定できます。

この値は、Format.ps1xml ファイル内の型に対してワイド ビューが定義されていない場合にのみ有効です。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-DefaultDisplayPropertySet

型の 1 つ以上のプロパティを指定します。 これらのプロパティは、他のプロパティが指定されていない場合は、Format-List、Format-Table、および Format-Custom コマンドレットによって表示されます。

型の標準プロパティまたは拡張プロパティの名前を入力します。 このパラメーターの値には、同じコマンドで追加される型の名前を指定できます。

この値は、Format.ps1xml ファイル内の型に対してリスト、テーブル、またはカスタム ビューが定義されていない場合にのみ有効です。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-DefaultKeyPropertySet

型の 1 つ以上のプロパティを指定します。 これらのプロパティは、他のプロパティが指定されていない場合に、Group-Object および Sort-Object コマンドレットによって使用されます。

型の標準プロパティまたは拡張プロパティの名前を入力します。 このパラメーターの値には、同じコマンドで追加される型の名前を指定できます。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Force

指定した型データに対して既に型データが指定されている場合でも、コマンドレットが指定した型データを使用することを示します。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
TypeDataSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-InheritPropertySerializationSet

シリアル化されるプロパティのセットを継承するかどうかを示します。 既定値は $null です。 このパラメーターに使用できる値は次のとおりです。

  • $true。 プロパティ セットは継承されます。
  • $false。 プロパティ セットは継承されません。
  • $null。 継承は定義されていません。

このパラメーターは、SerializationMethod パラメーターの値が SpecificPropertiesされている場合にのみ有効です。 このパラメーターの値を $falseする場合は、PropertySerializationSet パラメーターが必要です。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:

Nullable<T>[Boolean]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-MemberName

プロパティまたはメソッドの名前を指定します。

型のプロパティまたはメソッドを追加または変更するには、このパラメーターを TypeName、MemberType、Value、および SecondValue パラメーターと共に使用します。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-MemberType

追加または変更するメンバーの型を指定します。

型のプロパティまたはメソッドを追加または変更するには、このパラメーターを TypeName、MemberType、Value、および SecondValue パラメーターと共に使用します。 このパラメーターに使用できる値は次のとおりです。

  • エイリアスプロパティ
  • CodeMethod
  • CodeProperty
  • Noteプロパティ
  • ScriptMethod
  • ScriptProperty

これらの値の詳細については、PSMemberTypes 列挙 を参照してください。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:PSMemberTypes
規定値:None
指定可能な値:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-PrependPath

オプションの .ps1xml ファイルへのパスを指定します。 指定されたファイルは、組み込みファイルが読み込まれる前に一覧表示される順序で読み込まれます。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

FileSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-PropertySerializationSet

シリアル化されるプロパティの名前を指定します。 このパラメーターは、SerializationMethod パラメーターの値が SpecificProperties 場合に使用します。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SecondValue

AliasProperty、ScriptProperty、CodeProperty、または CodeMethod メンバー 追加の値を指定します。

型のプロパティまたはメソッドを追加または変更するには、このパラメーターを TypeName、MemberType、Value、および SecondValue パラメーターと共に使用します。

MemberType パラメーターの値が AliasPropertyされている場合、SecondValue パラメーターの値はデータ型である必要があります。 PowerShell は、エイリアス プロパティの値を指定した型に変換 (つまりキャスト) します。 たとえば、文字列プロパティの代替名を提供するエイリアス プロパティを追加する場合は、System.Int32 の SecondValue を指定して、エイリアス化された文字列値を整数に変換することもできます。

MemberType パラメーターの値がScriptProperty場合は、SecondValue パラメーターを使用して追加のスクリプト ブロックを指定できます。 Value パラメーターの値の scriptblock は、変数の値を取得します。 SecondValue パラメーターの値の scriptblock によって、変数の値が設定されます。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:Object
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SerializationDepth

文字列としてシリアル化される型オブジェクトのレベルの数を指定します。 既定値 1 オブジェクトとそのプロパティをシリアル化します。 0 値はオブジェクトをシリアル化しますが、そのプロパティはシリアル化しません。 2 の値は、オブジェクト、そのプロパティ、およびプロパティ値内の任意のオブジェクトをシリアル化します。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:Int32
規定値:1
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SerializationMethod

型のシリアル化メソッドを指定します。 シリアル化メソッドは、シリアル化される型のプロパティと、それらをシリアル化するために使用される手法を決定します。 このパラメーターに使用できる値は次のとおりです。

  • AllPublicProperties。 型のすべてのパブリック プロパティをシリアル化します。 SerializationDepth パラメーターを使用して、子プロパティをシリアル化するかどうかを判断できます。
  • String。 型を文字列としてシリアル化します。 StringSerializationSource を使用して、シリアル化の結果として使用する型のプロパティを指定できます。 それ以外の場合、型は、オブジェクトの ToString メソッドを使用してシリアル化されます。
  • SpecificProperties。 この型の指定したプロパティのみをシリアル化します。 PropertySerializationSet パラメーターを使用して、シリアル化される型のプロパティを指定します。 また、InheritPropertySerializationSet パラメーターを使用して、プロパティ セットが継承されているかどうかを判断し、SerializationDepth パラメーターを使用して子プロパティをシリアル化するかどうかを判断することもできます。

PowerShell では、シリアル化メソッドは PSStandardMembers 内部オブジェクト 格納されます。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-StringSerializationSource

型のプロパティの名前を指定します。 指定したプロパティの値がシリアル化の結果として使用されます。 このパラメーターは、SerializationMethod パラメーターの値が String の場合にのみ有効です。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-TargetTypeForDeserialization

この型のオブジェクトが逆シリアル化されるときに変換される型を指定します。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:Type
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-TypeAdapter

Microsoft.PowerShell.Cim.CimInstanceAdapterなど、型アダプターの型を指定します。 型アダプターを使用すると、PowerShell で型のメンバーを取得できます。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:Type
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-TypeConverter

異なる型間で値を変換する型コンバーターを指定します。 型コンバーターが型に対して定義されている場合、型コンバーターのインスタンスが変換に使用されます。

System.ComponentModel.TypeConverter または system.Management.Automation.PSTypeConverter クラスから派生した System.Type 値 入力します。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:Type
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-TypeData

このコマンドレットがセッションに追加するデータ型の配列を指定します。 TypeData オブジェクトを含む変数、または コマンドなどの Get-TypeData オブジェクトを取得するコマンドを入力します。 TypeData オブジェクトをパイプ処理して Update-TypeDataすることもできます。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:

TypeData[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

TypeDataSet
配置:0
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-TypeName

拡張する型の名前を指定します。

System 名前空間の型の場合は、短い名前を入力します。 それ以外の場合は、完全な型名が必要です。 ワイルドカードはサポートされていません。

パイプ型の名前を Update-TypeDataできます。 オブジェクトをパイプ処理して Update-TypeDataすると、Update-TypeData はオブジェクトの型名を取得し、データ型はオブジェクト型に取得します。

このパラメーターは、MemberName、MemberType、Value、および SecondValue パラメーターと共に使用して、型のプロパティまたはメソッドを追加または変更します。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Value

プロパティまたはメソッドの値を指定します。

AliasProperty、CodeProperty、ScriptProperty、または CodeMethod メンバーを追加する場合は、SecondValue パラメーターを使用して追加情報を追加できます。

このパラメーターは、MemberName、MemberType、Value、および SecondValue パラメーターと共に使用して、型のプロパティまたはメソッドを追加または変更します。

このパラメーターは、Windows PowerShell 3.0 で導入されました。

パラメーターのプロパティ

型:Object
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

DynamicTypeSet
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:ウィスコンシン

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

String

このコマンドレットには、AppendPath、TypeName、または TypeData パラメーター の値を含む文字列をパイプ処理できます。

出力

None

このコマンドレットは出力を返しません。

メモ

Warning

JEA などの制限付きエンドポイントでは、 Update-TypeData コマンドを公開しないでください。 このコマンドを使用すると、 ScriptProperty メンバーを型に追加できます。 ScriptProperty メンバーは、セッションがより制限の厳しい言語モードを使用するように構成されている場合でも、FullLanguage モードで評価される場合があります。