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>]

説明

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 を使用して、 Quarter スクリプト プロパティを現在のセッションの 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 プロパティの値は、現在の年間四半期を計算するスクリプトです。 スクリプト ブロックでは、 $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

最初のコマンドは、現在の日付を表す System.DateTime オブジェクトを出力するGet-Date コマンドのリスト ビューを示しています。 このコマンドでは、パイプライン演算子 (|) を使用して、 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 を使用して、 DefaultDisplayPropertyCommandInfo 型の新しいスクリプト プロパティの両方を定義します。 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-Module型など) が更新されます。

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

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

パラメーター

-AppendPath

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

型:String[]
Aliases:PSPath, Path
配置:0
規定値:None
必須:False
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Confirm

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

型:SwitchParameter
Aliases:cf
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DefaultDisplayProperty

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

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

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

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

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DefaultDisplayPropertySet

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

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

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

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

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DefaultKeyPropertySet

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

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

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

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Force

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

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

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InheritPropertySerializationSet

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

  • $True. プロパティ セットは継承されます。
  • $False. プロパティ セットは継承されません。
  • $Null. 継承は定義されていません。

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

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

型:Nullable<T>[Boolean]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MemberName

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

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

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

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-MemberType

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

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

  • AliasProperty
  • CodeMethod
  • CodeProperty
  • Noteproperty
  • ScriptMethod
  • ScriptProperty

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

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

型:PSMemberTypes
指定可能な値:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PrependPath

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

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-PropertySerializationSet

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

型:String[]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SecondValue

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

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

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

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

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

型:Object
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SerializationDepth

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

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

型:Int32
配置:Named
規定値:1
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SerializationMethod

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

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

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

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

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-StringSerializationSource

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

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TargetTypeForDeserialization

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

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

型:Type
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TypeAdapter

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

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

型:Type
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TypeConverter

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

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

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

型:Type
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-TypeData

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

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

型:TypeData[]
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-TypeName

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

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

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

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

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

型:String
配置:Named
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Value

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

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

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

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

型:Object
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

String

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

出力

None

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