Update-TypeData

Uppdaterar de utökade typdata i sessionen.

Syntax

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

Cmdleten Update-TypeData uppdaterar de utökade typdata i sessionen genom att Types.ps1xml läsa in filerna i minnet igen och lägga till nya utökade typdata.

Som standard läser PowerShell in utökade typdata efter behov. Utan parametrar Update-TypeData läser du in alla filer som har lästs in i sessionen igen, inklusive alla typer av Types.ps1xml filer som du har lagt till. Du kan använda parametrarna Update-TypeData för för att lägga till nya typfiler och lägga till och ersätta utökade typdata.

Cmdleten Update-TypeData kan användas för att förinläsa alla typdata. Den här funktionen är särskilt användbar när du utvecklar typer och vill läsa in de nya typerna i testsyfte.

Från och med Windows PowerShell 3.0 kan du använda Update-TypeData för att lägga till och ersätta utökade typdata i sessionen utan att använda en Types.ps1xml fil. Skriv data som läggs till dynamiskt, dvs. utan en fil, läggs bara till i den aktuella sessionen. Om du vill lägga till typdata i alla sessioner lägger du till ett Update-TypeData kommando i din PowerShell-profil. Mer information finns i about_Profiles.

Från och med Windows PowerShell 3.0 kan du också använda cmdleten Get-TypeData för att hämta de utökade typerna i den aktuella sessionen och cmdleten Remove-TypeData för att ta bort utökade typer från den aktuella sessionen.

Undantag som inträffar i egenskaper, eller från att lägga till egenskaper i ett Update-TypeData kommando, rapporterar inte fel. Detta är för att förhindra undantag som skulle inträffa i många vanliga typer under formatering och utdata. Om du får .NET-egenskaper kan du kringgå undertryckningen av undantag med hjälp av metodsyntax i stället, som du ser i följande exempel:

"hello".get_Length()

Observera att metodsyntax endast kan användas med .NET-egenskaper. Egenskaper som läggs till genom att köra cmdleten Update-TypeData kan inte använda metodsyntax.

Mer information om Types.ps1xml filerna i PowerShell finns i about_Types.ps1xml.

Exempel

Exempel 1: Uppdatera utökade typer

Update-TypeData

Det här kommandot uppdaterar konfigurationen av den utökade typen från de Types.ps1xml filer som redan har använts i sessionen.

Exempel 2: Uppdateringstyper flera gånger

Det här exemplet visar hur du uppdaterar typerna i en typfil flera gånger i samma session.

Det första kommandot uppdaterar konfigurationen Types.ps1xml av den utökade typen från filerna och bearbetar TypesA.types.ps1xml TypesB.types.ps1xml filerna först.

Det andra kommandot visar hur du uppdaterar TypesA.types.ps1xml igen, till exempel om du har lagt till eller ändrat en typ i filen. Du kan antingen upprepa föregående kommando för TypesA.types.ps1xml filen eller köra ett Update-TypeData kommando utan parametrar, eftersom TypesA.types.ps1xml det redan finns i typfillistan för den aktuella sessionen.

Update-TypeData -PrependPath TypesA.types.ps1xml, TypesB.types.ps1xml
Update-TypeData -PrependPath TypesA.types.ps1xml

Exempel 3: Lägg till en skriptegenskap i DateTime-objekt

I det här exemplet används Update-TypeData för att lägga till egenskapen Kvartalsskript till System.DateTime-objekt i den aktuella sessionen, till exempel de som returneras av cmdleten 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

Kommandot Update-TypeData använder parametern TypeName för att ange typen System.DateTime , parametern MemberName för att ange ett namn för den nya egenskapen, egenskapen MemberType för att ange typen ScriptProperty och parametern Value för att ange skriptet som avgör det årliga kvartalet.

Värdet för egenskapen Value är ett skript som beräknar det aktuella årliga kvartalet. Skriptblocket använder den $this automatiska variabeln för att representera den aktuella instansen av objektet och In-operatorn för att avgöra om månadsvärdet visas i varje heltalsmatris. Mer information om operatorn finns i -in about_Comparison_Operators.

Det andra kommandot hämtar den nya egenskapen Quarter för det aktuella datumet.

Exempel 4: Uppdatera en typ som visas i listor som standard

Det här exemplet visar hur du anger egenskaperna för en typ som visas i listor som standard, det vill säga när inga egenskaper har angetts. Eftersom typdata inte anges i en Types.ps1xml fil är de endast effektiva i den aktuella sessionen.

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

Det första kommandot visar listvyn för Get-Date kommandot, som matar ut ett System.DateTime-objekt som representerar det aktuella datumet. Kommandot använder en pipelineoperator (|) för att skicka DateTime-objektet till cmdleten Format-List . Format-List Eftersom kommandot inte anger de egenskaper som ska visas i listan visar PowerShell alla offentliga, icke-dolda egenskaper för objektet.

Det andra kommandot använder cmdleten Update-TypeData för att ange standardlisteegenskaperna för typen System.DateTime . Kommandot använder parametern TypeName för att ange typen och parametern DefaultDisplayPropertySet för att ange standardegenskaperna för en lista. De valda egenskaperna inkluderar den nya egenskapen Kvartalsskript som lades till i ett tidigare exempel.

Det senaste kommandot hämtar det aktuella datumet och visar det i listformat igen. Den visar bara de egenskaper som definierats i Update-TypeData kommandot i stället för den fullständiga listan med egenskaper.

Exempel 5: Ange egenskapen som en typ visas i brett format

Det här exemplet visar hur du skapar en ny skriptegenskap och använder den som standardegenskap som visas när typen skickas till cmdleten 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

Det första kommandot använder cmdleten Get-Command för att returnera varje kommando med ett namn som innehåller ordet File. Den skickar utdata till cmdleten Format-Wide , som visar namnen på kommandona i kolumner.

Sedan används Update-TypeData exemplet för att definiera både DefaultDisplayProperty och en ny skriptegenskap för Typen CommandInfo . Utdata för Get-Command returnerar CommandInfo-objekt och objekt som härletts från den typen. Den nya skriptegenskapen FullyQualifiedName returnerar den fullständiga sökvägen till körbara program och det fullständigt kvalificerade namnet för cmdletar, som prefixar cmdlet-namnet med modulen som definierar den. Cmdleten Update-TypeData kan definiera den nya skriptegenskapen och använda den som DefaultDisplayProperty i samma kommando.

Slutligen visar utdata resultatet av det Get-Command som visas i brett format efter typuppdateringen. Den visar det fullständigt kvalificerade namnet för cmdletar och den fullständiga sökvägen till körbara program.

Exempel 6: Uppdatera typdata för ett rörobjekt

$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

Det här exemplet visar att när du rör ett objekt till lägger Update-TypeData du till Update-TypeDatautökade typdata för objekttypen.

Den här tekniken går snabbare än att använda cmdleten Get-Member Get-Type eller metoden för att hämta objekttypen. Men om du skickar en samling objekt till Update-TypeDatauppdaterar den typdata för den första objekttypen och returnerar sedan ett fel för alla andra objekt i samlingen eftersom medlemmen redan har definierats för typen.

Det första kommandot använder cmdleten Get-Module för att hämta modulen Microsoft.PowerShell.Utility . Kommandot skickar modulobjektet till cmdletenUpdate-TypeData, som uppdaterar typdata för typen System.Management.Automation.PSModuleInfo och de typer som härleds från den, till exempel modulinfogruppstypen som Get-Module returneras när du använder parametern ListAvailable i kommandot.

Kommandona Update-TypeData lägger till skriptegenskapen SupportsUpdatableHelp till alla importerade moduler. Värdet för parametern Value är ett skript som returnerar $true om egenskapen HelpInfoUri för modulen är ifylld och $false på annat sätt.

Det andra kommandot dirigerar modulobjekten från Get-Module till cmdletenFormat-Table, som visar egenskaperna Namn och SupportsUpdatableHelp för de tillgängliga modulerna.

Parametrar

-AppendPath

Anger sökvägen till valfria .ps1xml filer. De angivna filerna läses in i den ordning som de visas när de inbyggda filerna har lästs in. Du kan också skicka ett AppendPath-värde till Update-TypeData.

Typ:String[]
Alias:PSPath, Path
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultDisplayProperty

Anger egenskapen för den typ som visas av cmdleten Format-Wide när inga andra egenskaper har angetts.

Ange namnet på en standard- eller utökad egenskap av typen. Värdet för den här parametern kan vara namnet på en typ som läggs till i samma kommando.

Det här värdet gäller endast när det inte finns några breda vyer som definierats för typen i en Format.ps1xml fil.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultDisplayPropertySet

Anger en eller flera egenskaper av typen. De här egenskaperna visas av Format-Listcmdletarna , Format-Tableoch Format-Custom när inga andra egenskaper har angetts.

Ange namnen på standard- eller utökade egenskaper för typen. Värdet för den här parametern kan vara namnen på de typer som läggs till i samma kommando.

Det här värdet gäller endast när det inte finns någon lista, tabell eller anpassade vyer som definierats för typen i en Format.ps1xml fil.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultKeyPropertySet

Anger en eller flera egenskaper av typen. Dessa egenskaper används av Group-Object cmdletarna och Sort-Object när inga andra egenskaper anges.

Ange namnen på standard- eller utökade egenskaper för typen. Värdet för den här parametern kan vara namnen på de typer som läggs till i samma kommando.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Force

Anger att cmdleten använder angivna typdata, även om typdata redan har angetts för den typen.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InheritPropertySerializationSet

Anger om den uppsättning egenskaper som serialiseras ärvs. Standardvärdet är $Null. De acceptabla värdena för den här parametern är:

  • $True. Egenskapsuppsättningen ärvs.
  • $False. Egenskapsuppsättningen ärvs inte.
  • $Null. Arv har inte definierats.

Den här parametern är endast giltig när värdet för parametern SerializationMethod är SpecificProperties. När värdet för den här parametern är $Falsekrävs parametern PropertySerializationSet .

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Nullable<T>[Boolean]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MemberName

Anger namnet på en egenskap eller metod.

Använd den här parametern med parametrarna TypeName, MemberType, Value och SecondValue för att lägga till eller ändra en egenskap eller metod av en typ.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MemberType

Anger vilken typ av medlem som ska läggas till eller ändras.

Använd den här parametern med parametrarna TypeName, MemberType, Value och SecondValue för att lägga till eller ändra en egenskap eller metod av en typ. De acceptabla värdena för den här parametern är:

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

Information om dessa värden finns i PSMemberTypes Enumeration.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:PSMemberTypes
Godkända värden:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-PrependPath

Anger sökvägen till de valfria .ps1xml filerna. De angivna filerna läses in i den ordning som de visas innan de inbyggda filerna läses in.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-PropertySerializationSet

Anger namnen på egenskaper som serialiseras. Använd den här parametern när värdet för parametern SerializationMethod är SpecificProperties.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SecondValue

Anger ytterligare värden för AliasProperty-, ScriptProperty-, CodeProperty- eller CodeMethod-medlemmar .

Använd den här parametern med parametrarna TypeName, MemberType, Value och SecondValue för att lägga till eller ändra en egenskap eller metod av en typ.

När värdet för parametern MemberType är AliasPropertymåste värdet för parametern SecondValue vara en datatyp. PowerShell konverterar (dvs. omvandlar) värdet för aliasegenskapen till den angivna typen. Om du till exempel lägger till en aliasegenskap som ger ett alternativt namn för en strängegenskap kan du också ange en SecondValue för System.Int32 för att konvertera det aliaserade strängvärdet till ett heltal.

När värdet för parametern MemberType är ScriptPropertykan du använda parametern SecondValue för att ange ytterligare ett skriptblock. Skriptblocket i värdet för parametern Value hämtar värdet för en variabel. Skriptblocket i värdet för parametern SecondValue anger värdet för variabeln.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Object
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SerializationDepth

Anger hur många nivåer av typobjekt som serialiseras som strängar. Standardvärdet 1 serialiserar objektet och dess egenskaper. 0 Värdet serialiserar objektet, men inte dess egenskaper. 2 Värdet serialiserar objektet, dess egenskaper och eventuella objekt i egenskapsvärden.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Int32
Position:Named
Standardvärde:1
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SerializationMethod

Anger en serialiseringsmetod för typen. En serialiseringsmetod avgör vilka egenskaper av typen som serialiseras och vilken teknik som används för att serialisera dem. De acceptabla värdena för den här parametern är:

  • AllPublicProperties. Serialisera alla offentliga egenskaper av typen. Du kan använda parametern SerializationDepth för att avgöra om underordnade egenskaper serialiseras.
  • String. Serialisera typen som en sträng. Du kan använda StringSerializationSource för att ange en egenskap av typen som ska användas som serialiseringsresultat. Annars serialiseras typen med hjälp av metoden ToString för objektet.
  • SpecificProperties. Serialisera endast de angivna egenskaperna för den här typen. Använd parametern PropertySerializationSet för att ange egenskaperna för den typ som serialiseras. Du kan också använda parametern InheritPropertySerializationSet för att avgöra om egenskapsuppsättningen ärvs och parametern SerializationDepth för att avgöra om underordnade egenskaper serialiseras.

I PowerShell lagras serialiseringsmetoder i interna PSStandardMembers-objekt .

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-StringSerializationSource

Anger namnet på en egenskap av typen. Värdet för den angivna egenskapen används som serialiseringsresultat. Den här parametern är endast giltig när värdet för parametern SerializationMethod är String.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-TargetTypeForDeserialization

Anger vilken typ av objekt av den här typen som konverteras när de deserialiseras.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Type
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-TypeAdapter

Anger typen av ett typkort, till exempel Microsoft.PowerShell.Cim.CimInstanceAdapter. Med ett typkort kan PowerShell hämta medlemmar av en typ.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Type
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-TypeConverter

Anger en typkonverterare som konverterar värden mellan olika typer. Om en typkonverterare definieras för en typ används en instans av typkonverteraren för konverteringen.

Ange ett System.Type-värde som härleds från klasserna System.ComponentModel.TypeConverter eller System.Management.Automation.PSTypeConverter .

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Type
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-TypeData

Anger en matris med typdata som den här cmdleten lägger till i sessionen. Ange en variabel som innehåller ett TypeData-objekt eller ett kommando som hämtar ett TypeData-objekt , till exempel ett Get-TypeData kommando. Du kan också skicka ett TypeData-objekt till Update-TypeData.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:TypeData[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-TypeName

Anger namnet på den typ som ska utökas.

För typer i systemnamnområdet anger du det korta namnet. Annars krävs det fullständiga typnamnet. Jokertecken stöds inte.

Du kan ange namn på pipe-typ till Update-TypeData. När du rör ett objekt till Update-TypeDataUpdate-TypeData hämtar du typnamnet för objektet och skriver data till objekttypen.

Använd den här parametern med parametrarna MemberName, MemberType, Value och SecondValue för att lägga till eller ändra en egenskap eller metod av en typ.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Value

Anger värdet för egenskapen eller metoden.

Om du lägger till en , , eller CodeMethod medlem kan du använda parametern SecondValue för att lägga till ytterligare ScriptPropertyinformation. CodePropertyAliasProperty

Använd den här parametern med parametrarna MemberName, MemberType, Value och SecondValue för att lägga till eller ändra en egenskap eller metod av en typ.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:Object
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

String

Du kan skicka en sträng som innehåller värdena för parametrarna AppendPath, TypeName eller TypeData till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.