Delen via


Update-TypeData

Hiermee worden de uitgebreide typegegevens in de sessie bijgewerkt.

Syntaxis

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

De Update-TypeData cmdlet werkt de uitgebreide typegegevens in de sessie bij door de bestanden opnieuw te laden in het Types.ps1xml geheugen en nieuwe uitgebreide typegegevens toe te voegen.

PowerShell laadt standaard uitgebreide gegevens van het type omdat deze nodig zijn. Zonder parameters Update-TypeData worden alle Types.ps1xml bestanden die in de sessie zijn geladen, opnieuw geladen, inclusief bestandstypen die u hebt toegevoegd. U kunt de parameters gebruiken om Update-TypeData nieuwe typebestanden toe te voegen en uitgebreide typegegevens toe te voegen en te vervangen.

De Update-TypeData cmdlet kan worden gebruikt om alle typegegevens vooraf te laden. Deze functie is met name handig wanneer u typen ontwikkelt en deze nieuwe typen wilt laden voor testdoeleinden.

Vanaf Windows PowerShell 3.0 kunt Update-TypeData u uitgebreide typegegevens in de sessie toevoegen en vervangen zonder een Types.ps1xml bestand te gebruiken. Typ gegevens die dynamisch worden toegevoegd, dus zonder een bestand, worden alleen toegevoegd aan de huidige sessie. Als u de typegegevens aan alle sessies wilt toevoegen, voegt u een Update-TypeData opdracht toe aan uw PowerShell-profiel. Zie about_Profiles voor meer informatie.

Vanaf Windows PowerShell 3.0 kunt u ook de Get-TypeData cmdlet gebruiken om de uitgebreide typen in de huidige sessie op te halen en de Remove-TypeData cmdlet om uitgebreide typen uit de huidige sessie te verwijderen.

Uitzonderingen die voorkomen in eigenschappen of van het toevoegen van eigenschappen aan een Update-TypeData opdracht, melden geen fouten. Dit is om uitzonderingen te onderdrukken die in veel algemene typen voorkomen tijdens het opmaken en uitvoeren. Als u .NET-eigenschappen krijgt, kunt u in plaats daarvan de onderdrukking van uitzonderingen omzeilen met behulp van de syntaxis van de methode, zoals wordt weergegeven in het volgende voorbeeld:

"hello".get_Length()

Houd er rekening mee dat de syntaxis van de methode alleen kan worden gebruikt met .NET-eigenschappen. Eigenschappen die worden toegevoegd door de cmdlet uit te voeren, kunnen geen syntaxis van de Update-TypeData methode gebruiken.

Zie about_Types.ps1xml voor meer informatie over de Types.ps1xml bestanden in PowerShell.

Voorbeelden

Voorbeeld 1: Uitgebreide typen bijwerken

Update-TypeData

Met deze opdracht wordt de configuratie van het uitgebreide type bijgewerkt van de Types.ps1xml bestanden die al in de sessie zijn gebruikt.

Voorbeeld 2: Typen meerdere keren bijwerken

In dit voorbeeld ziet u hoe u de typen in een typebestand meerdere keren in dezelfde sessie bijwerkt.

Met de eerste opdracht wordt de configuratie van het uitgebreide type bijgewerkt van de Types.ps1xml bestanden en worden de TypesA.types.ps1xml bestanden TypesB.types.ps1xml eerst verwerkt.

De tweede opdracht laat zien hoe u het TypesA.types.ps1xml opnieuw kunt bijwerken, bijvoorbeeld als u een type in het bestand hebt toegevoegd of gewijzigd. U kunt de vorige opdracht voor het TypesA.types.ps1xml bestand herhalen of een Update-TypeData opdracht zonder parameters uitvoeren, omdat TypesA.types.ps1xml deze al in de lijst met typebestanden voor de huidige sessie staat.

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

Voorbeeld 3: Een scripteigenschap toevoegen aan DateTime-objecten

In dit voorbeeld wordt Update-TypeData de eigenschap Quarter-script toegevoegd aan System.DateTime-objecten in de huidige sessie, zoals de objecten die door de Get-Date cmdlet worden geretourneerd.

$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

De Update-TypeData opdracht gebruikt de parameter TypeName om het type System.DateTime, de parameter MemberName op te geven om een naam op te geven voor de nieuwe eigenschap, de eigenschap MemberType om het type ScriptProperty op te geven en de parameter Waarde om het script op te geven dat het jaarlijkse kwartaal bepaalt.

De waarde van de eigenschap Waarde is een script waarmee het huidige jaarkwartaal wordt berekend. Het scriptblok gebruikt de $this automatische variabele om het huidige exemplaar van het object en de In-operator weer te geven om te bepalen of de maandwaarde wordt weergegeven in elke matrix met gehele getallen. Zie about_Comparison_Operators voor meer informatie over de -in operator.

Met de tweede opdracht wordt de nieuwe eigenschap Quarter van de huidige datum ophaalt.

Voorbeeld 4: Een type bijwerken dat standaard wordt weergegeven in lijsten

In dit voorbeeld ziet u hoe u de eigenschappen van een type instelt dat standaard wordt weergegeven in lijsten, dat wil gezegd, wanneer er geen eigenschappen zijn opgegeven. Omdat de typegegevens niet zijn opgegeven in een Types.ps1xml bestand, is dit alleen van kracht in de huidige sessie.

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

De eerste opdracht toont de lijstweergave voor de Get-Date opdracht, die een System.DateTime-object uitvoert dat de huidige datum vertegenwoordigt. De opdracht maakt gebruik van een pijplijnoperator (|) om het DateTime-object naar de Format-List cmdlet te verzenden. Omdat de Format-List opdracht niet de eigenschappen opgeeft die in de lijst moeten worden weergegeven, geeft PowerShell elke openbare, niet-verborgen eigenschap voor het object weer.

De tweede opdracht gebruikt de Update-TypeData cmdlet om de standaardlijsteigenschappen voor het type System.DateTime in te stellen. De opdracht gebruikt de parameter TypeName om het type en de parameter DefaultDisplayPropertySet op te geven om de standaardeigenschappen voor een lijst op te geven. De geselecteerde eigenschappen bevatten de nieuwe scripteigenschap Quarter die in een vorig voorbeeld is toegevoegd.

Met de laatste opdracht wordt de huidige datum opgehaald en weergegeven in een lijstindeling. Hiermee worden alleen de eigenschappen weergegeven die zijn gedefinieerd in de Update-TypeData opdracht, in plaats van de volledige lijst met eigenschappen.

Voorbeeld 5: De eigenschap instellen die een type in brede indeling weergeeft

In dit voorbeeld ziet u hoe u een nieuwe scripteigenschap maakt en deze gebruikt als de standaardeigenschap die wordt weergegeven wanneer het type wordt doorgegeven aan de Format-Wide cmdlet.

Get-Command *File* | Format-Wide

Set-AppPackageProvisionedDataFile                          Set-ProvisionedAppPackageDataFile
Set-ProvisionedAppXDataFile                                Write-FileSystemCache
Write-FileSystemCache                                      Block-FileShareAccess
Clear-FileStorageTier                                      Close-SmbOpenFile
Debug-FileShare                                            Disable-NetIPHttpsProfile
Enable-NetIPHttpsProfile                                   Get-FileHash
Get-FileIntegrity                                          Get-FileShare
Get-FileShareAccessControlEntry                            Get-FileStorageTier
Get-NetConnectionProfile                                   Get-NetFirewallHyperVProfile
Get-NetFirewallProfile                                     Get-SmbOpenFile
Get-StorageFileServer                                      Get-SupportedFileSystems
Grant-FileShareAccess                                      Import-PowerShellDataFile
New-FileShare                                              New-NetFirewallHyperVProfile
New-ScriptFileInfo                                         New-StorageFileServer
New-TemporaryFile                                          Publish-BCFileContent
Remove-FileShare                                           Remove-NetFirewallHyperVProfile
Remove-StorageFileServer                                   Repair-FileIntegrity
Revoke-FileShareAccess                                     Set-FileIntegrity
Set-FileShare                                              Set-FileStorageTier
Set-NetConnectionProfile                                   Set-NetFirewallHyperVProfile
Set-NetFirewallProfile                                     Set-StorageBusProfile
Set-StorageFileServer                                      Test-ScriptFileInfo
Unblock-FileShareAccess                                    Update-ScriptFileInfo
Add-BitsFile                                               Get-AIPFileStatus
Get-AppLockerFileInformation                               New-FileCatalog
New-PSRoleCapabilityFile                                   New-PSSessionConfigurationFile
Out-File                                                   Set-AIPFileClassification
Set-AIPFileLabel                                           Set-AppXProvisionedDataFile
Set-UevTemplateProfile                                     Test-FileCatalog
Test-PSSessionConfigurationFile                            Unblock-File
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                      Storage\Block-FileShareAccess
Storage\Clear-FileStorageTier                              SmbShare\Close-SmbOpenFile
Storage\Debug-FileShare                                    NetworkTransition\Disable-NetIPHttpsProfile
NetworkTransition\Enable-NetIPHttpsProfile                 Microsoft.PowerShell.Utility\Get-FileHash
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                              Microsoft.PowerShell.Utility\Import-PowerShellDataFile
Storage\New-FileShare                                      NetSecurity\New-NetFirewallHyperVProfile
PowerShellGet\New-ScriptFileInfo                           Storage\New-StorageFileServer
Microsoft.PowerShell.Utility\New-TemporaryFile             BranchCache\Publish-BCFileContent
Storage\Remove-FileShare                                   NetSecurity\Remove-NetFirewallHyperVProfile
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
Storage\Unblock-FileShareAccess                            PowerShellGet\Update-ScriptFileInfo
BitsTransfer\Add-BitsFile                                  AzureInformationProtection\Get-AIPFileStatus
AppLocker\Get-AppLockerFileInformation                     Microsoft.PowerShell.Security\New-FileCatalog
Microsoft.PowerShell.Core\New-PSRoleCapabilityFile         Microsoft.PowerShell.Core\New-PSSessionConfigurationFile
Microsoft.PowerShell.Utility\Out-File                      AzureInformationProtection\Set-AIPFileClassification
AzureInformationProtection\Set-AIPFileLabel                Dism\Set-AppXProvisionedDataFile
UEV\Set-UevTemplateProfile                                 Microsoft.PowerShell.Security\Test-FileCatalog
Microsoft.PowerShell.Core\Test-PSSessionConfigurationFile  Microsoft.PowerShell.Utility\Unblock-File
C:\WINDOWS\system32\FileDialogBroker.exe                   C:\WINDOWS\system32\FileHistory.exe
C:\WINDOWS\system32\forfiles.exe                           C:\WINDOWS\system32\openfiles.exe

De eerste opdracht gebruikt de Get-Command cmdlet om elke opdracht te retourneren met een naam die het woord Filebevat. Het pijpt de uitvoer naar de Format-Wide cmdlet, waarin de namen van de opdrachten in kolommen worden weergegeven.

Vervolgens gebruikt Update-TypeData het voorbeeld om zowel de DefaultDisplayProperty als een nieuwe scripteigenschap voor het type CommandInfo te definiëren. De uitvoer voor Get-Command retourneert CommandInfo-objecten en -objecten die zijn afgeleid van dat type. De nieuwe scripteigenschap FullyQualifiedName retourneert het volledige pad naar uitvoerbare toepassingen en de volledig gekwalificeerde naam voor cmdlets, die de naam van de cmdlet voorvoegt met de module die deze definieert. De Update-TypeData cmdlet kan de nieuwe scripteigenschap definiëren en gebruiken als defaultDisplayProperty in dezelfde opdracht.

Ten slotte toont de uitvoer de resultaten van de Get-Command weergegeven in brede indeling na de type-update. Hier ziet u de volledig gekwalificeerde naam voor cmdlets en het volledige pad naar uitvoerbare toepassingen.

Voorbeeld 6: Typegegevens bijwerken voor een gesluisd object

$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.Operation.Validation                  True
Microsoft.PowerShell.Archive                               True
Microsoft.PowerShell.Diagnostics                           True
Microsoft.PowerShell.Host                                  True
Microsoft.PowerShell.LocalAccounts                         True
Microsoft.PowerShell.Management                            True
Microsoft.PowerShell.ODataUtils                            True
Microsoft.PowerShell.Security                              True
Microsoft.PowerShell.Utility                               True

In dit voorbeeld ziet u dat wanneer u een object doorsluist Update-TypeData, Update-TypeData uitgebreide typegegevens voor het objecttype toevoegt.

Deze techniek is sneller dan het gebruik van de Get-Member cmdlet of de Get-Type methode om het objecttype op te halen. Als u echter een verzameling objecten doorsluist naar Update-TypeData, worden de typegegevens van het eerste objecttype bijgewerkt en wordt vervolgens een fout geretourneerd voor alle andere objecten in de verzameling omdat het lid al is gedefinieerd voor het type.

De eerste opdracht maakt gebruik van de Get-Module cmdlet om de microsoft.PowerShell.Utility-module op te halen. De opdracht geeft het moduleobject door aan de Update-TypeData cmdlet, waarmee de typegegevens voor het type System.Management.Automation.PSModuleInfo en de typen die hiervan zijn afgeleid, worden bijgewerkt, zoals het type ModuleInfoGrouping dat Get-Module wordt geretourneerd wanneer u de parameter ListAvailable in de opdracht gebruikt.

Met de Update-TypeData opdrachten wordt de scripteigenschap SupportsUpdatableHelp toegevoegd aan alle geïmporteerde modules. De waarde van de parameter Waarde is een script dat retourneert $true als de eigenschap HelpInfoUri van de module is ingevuld en $false anders.

Met de tweede opdracht worden de moduleobjecten van Get-Module naar de Format-Table cmdlet uitgevoerd, waarin de eigenschappen Name en SupportsUpdatableHelp van de beschikbare modules worden weergegeven.

Parameters

-AppendPath

Hiermee geeft u het pad naar optionele .ps1xml bestanden. De opgegeven bestanden worden geladen in de volgorde waarin ze worden vermeld nadat de ingebouwde bestanden zijn geladen. U kunt ook een AppendPath-waarde doorsluisen naar Update-TypeData.

Type:String[]
Aliassen:PSPath, Path
Position:0
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DefaultDisplayProperty

Hiermee geeft u de eigenschap op van het type dat wordt weergegeven door de Format-Wide cmdlet wanneer er geen andere eigenschappen zijn opgegeven.

Typ de naam van een standaardeigenschap of uitgebreide eigenschap van het type. De waarde van deze parameter kan de naam zijn van een type dat wordt toegevoegd in dezelfde opdracht.

Deze waarde is alleen van kracht wanneer er geen brede weergaven zijn gedefinieerd voor het type in een Format.ps1xml bestand.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DefaultDisplayPropertySet

Hiermee geeft u een of meer eigenschappen van het type. Deze eigenschappen worden weergegeven door de Format-List, Format-Tableen Format-Custom cmdlets wanneer er geen andere eigenschappen zijn opgegeven.

Typ de namen van standaard- of uitgebreide eigenschappen van het type. De waarde van deze parameter kan de namen zijn van typen die in dezelfde opdracht worden toegevoegd.

Deze waarde is alleen van kracht als er respectievelijk geen lijst-, tabel- of aangepaste weergaven zijn gedefinieerd voor het type in een Format.ps1xml bestand.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DefaultKeyPropertySet

Hiermee geeft u een of meer eigenschappen van het type. Deze eigenschappen worden door de Group-Object en Sort-Object cmdlets gebruikt wanneer er geen andere eigenschappen worden opgegeven.

Typ de namen van standaard- of uitgebreide eigenschappen van het type. De waarde van deze parameter kan de namen zijn van typen die in dezelfde opdracht worden toegevoegd.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Force

Geeft aan dat de cmdlet gebruikmaakt van de opgegeven typegegevens, zelfs als er al typegegevens voor dat type zijn opgegeven.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InheritPropertySerializationSet

Geeft aan of de set eigenschappen die worden geserialiseerd, wordt overgenomen. De standaardwaarde is $Null. De aanvaardbare waarden voor deze parameter zijn:

  • $True. De eigenschappenset wordt overgenomen.
  • $False. De eigenschappenset wordt niet overgenomen.
  • $Null. Overname is niet gedefinieerd.

Deze parameter is alleen geldig wanneer de waarde van de parameter SerializationMethod is SpecificProperties. Wanneer de waarde van deze parameter is $False, is de parameter PropertySerializationSet vereist.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MemberName

Hiermee geeft u de naam van een eigenschap of methode.

Gebruik deze parameter met de parameters TypeName, MemberType, Value en SecondValue om een eigenschap of methode van een type toe te voegen of te wijzigen.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MemberType

Hiermee geeft u het type van het lid dat moet worden toegevoegd of gewijzigd.

Gebruik deze parameter met de parameters TypeName, MemberType, Value en SecondValue om een eigenschap of methode van een type toe te voegen of te wijzigen. De aanvaardbare waarden voor deze parameter zijn:

  • AliasProperty
  • CodeMethod
  • CodeProperty
  • Opmerking
  • ScriptMethod
  • ScriptProperty

Zie De opsomming PSMemberTypes voor informatie over deze waarden.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:PSMemberTypes
Geaccepteerde waarden:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-PrependPath

Hiermee geeft u het pad naar de optionele .ps1xml bestanden. De opgegeven bestanden worden geladen in de volgorde waarin ze worden vermeld voordat de ingebouwde bestanden worden geladen.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-PropertySerializationSet

Hiermee geeft u de namen van eigenschappen die worden geserialiseerd. Gebruik deze parameter wanneer de waarde van de parameter SerializationMethod SpecificProperties is.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SecondValue

Hiermee geeft u aanvullende waarden op voor leden van AliasProperty, ScriptProperty, CodeProperty of CodeMethod .

Gebruik deze parameter met de parameters TypeName, MemberType, Value en SecondValue om een eigenschap of methode van een type toe te voegen of te wijzigen.

Wanneer de waarde van de parameter MemberType is AliasProperty, moet de waarde van de parameter SecondValue een gegevenstype zijn. PowerShell converteert (dat wil gezegd, cast) de waarde van de aliaseigenschap naar het opgegeven type. Als u bijvoorbeeld een aliaseigenschap toevoegt die een alternatieve naam voor een tekenreekseigenschap biedt, kunt u ook een SecondValue van System.Int32 opgeven om de waarde van de aliastekenreeks te converteren naar een geheel getal.

Wanneer de waarde van de parameter MemberType is ScriptProperty, kunt u de parameter SecondValue gebruiken om een extra scriptblok op te geven. Het scriptblok in de waarde van de parameter Waarde haalt de waarde van een variabele op. Het scriptblok in de waarde van de parameter SecondValue stelt de waarde van de variabele in.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Object
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SerializationDepth

Hiermee geeft u op hoeveel niveaus van het type objecten worden geserialiseerd als tekenreeksen. De standaardwaarde 1 serialiseert het object en de eigenschappen ervan. Een waarde van 0 serialiseert het object, maar niet de eigenschappen ervan. Een waarde van het serialiseren van 2 het object, de eigenschappen en eventuele objecten in eigenschapswaarden.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Int32
Position:Named
Default value:1
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SerializationMethod

Hiermee geeft u een serialisatiemethode voor het type. Een serialisatiemethode bepaalt welke eigenschappen van het type worden geserialiseerd en welke techniek wordt gebruikt om ze te serialiseren. De aanvaardbare waarden voor deze parameter zijn:

  • AllPublicProperties. Serialiseer alle openbare eigenschappen van het type. U kunt de parameter SerializationDepth gebruiken om te bepalen of onderliggende eigenschappen worden geserialiseerd.
  • String. Serialiseer het type als een tekenreeks. U kunt de StringSerializationSource gebruiken om een eigenschap op te geven van het type dat moet worden gebruikt als het serialisatieresultaat. Anders wordt het type geserialiseerd met behulp van de ToString-methode van het object.
  • SpecificProperties. Serialiseer alleen de opgegeven eigenschappen van dit type. Gebruik de parameter PropertySerializationSet om de eigenschappen op te geven van het type dat wordt geserialiseerd. U kunt ook de parameter InheritPropertySerializationSet gebruiken om te bepalen of de eigenschappenset is overgenomen en de parameter SerializationDepth om te bepalen of onderliggende eigenschappen worden geserialiseerd.

In PowerShell worden serialisatiemethoden opgeslagen in interne PSStandardMembers-objecten .

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-StringSerializationSource

Hiermee geeft u de naam van een eigenschap van het type. De waarde van de opgegeven eigenschap wordt gebruikt als het serialisatieresultaat. Deze parameter is alleen geldig wanneer de waarde van de parameter SerializationMethod string is.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-TargetTypeForDeserialization

Hiermee geeft u het type aan welk object van dit type wordt geconverteerd wanneer ze worden gedeserialiseerd.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Type
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-TypeAdapter

Hiermee geeft u het type adapter, zoals Microsoft.PowerShell.Cim.CimInstanceAdapter. Met een typeadapter kan PowerShell de leden van een type ophalen.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Type
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-TypeConverter

Hiermee geeft u een typeconversieprogramma om waarden tussen verschillende typen te converteren. Als een typeconversieprogramma is gedefinieerd voor een type, wordt een exemplaar van het typeconversieprogramma gebruikt voor de conversie.

Voer een System.Type-waarde in die is afgeleid van de klassen System.ComponentModel.TypeConverter of System.Management.Automation.PSTypeConverter .

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Type
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-TypeData

Hiermee geeft u een matrix van het type gegevens op die door deze cmdlet aan de sessie worden toegevoegd. Voer een variabele in die een TypeData-object of een opdracht bevat waarmee een TypeData-object wordt opgehaald, zoals een Get-TypeData opdracht. U kunt ook een TypeData-object doorsluisen naar Update-TypeData.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:TypeData[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-TypeName

Hiermee geeft u de naam van het type dat moet worden uitgebreid.

Voer de korte naam in voor typen in de systeemnaamruimte . Anders is de volledige typenaam vereist. Jokertekens worden niet ondersteund.

U kunt namen van sluistekens sluistekens naar Update-TypeData. Wanneer u een object doorsluist Update-TypeDatanaar, Update-TypeData haalt u de typenaam van het object op en typt u gegevens naar het objecttype.

Gebruik deze parameter met de parameters MemberName, MemberType, Value en SecondValue om een eigenschap of methode van een type toe te voegen of te wijzigen.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Value

Hiermee geeft u de waarde van de eigenschap of methode.

Als u een AliasProperty, CodePropertyScriptPropertyof CodeMethod lid toevoegt, kunt u de parameter SecondValue gebruiken om aanvullende informatie toe te voegen.

Gebruik deze parameter met de parameters MemberName, MemberType, Value en SecondValue om een eigenschap of methode van een type toe te voegen of te wijzigen.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Type:Object
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

String

U kunt een tekenreeks met de waarden van de parameters AppendPath, TypeName of TypeData doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.