Freigeben über


Update-TypeData

Aktualisiert die erweiterten Typdaten in der Sitzung.

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

Beschreibung

Das Update-TypeData Cmdlet aktualisiert die erweiterten Typdaten in der Sitzung, indem die Dateien in den Types.ps1xml Arbeitsspeicher neu geladen und neue erweiterte Typdaten hinzugefügt werden.

Standardmäßig lädt PowerShell erweiterte Typdaten nach Bedarf. Ohne Parameter laden Sie alle Types.ps1xml Dateien neu, Update-TypeData die sie in der Sitzung geladen hat, einschließlich aller Typdateien, die Sie hinzugefügt haben. Sie können die Parameter Update-TypeData verwenden, um neue Typdateien hinzuzufügen und erweiterte Typdaten hinzuzufügen und zu ersetzen.

Das Update-TypeData Cmdlet kann verwendet werden, um alle Typdaten vorab zu laden. Diese Funktion ist besonders nützlich, wenn Sie Typen entwickeln und diese neuen Typen zu Testzwecken laden möchten.

Ab Windows PowerShell 3.0 können Sie erweiterte Update-TypeData Typdaten in der Sitzung hinzufügen und ersetzen, ohne eine Types.ps1xml Datei zu verwenden. Typdaten die dynamisch, d. h. ohne Datei, hinzugefügt werden, werden nur zur aktuellen Sitzung hinzugefügt. Um allen Sitzungen die Typdaten hinzuzufügen, fügen Sie Ihrem PowerShell-Profil einen Update-TypeData Befehl hinzu. Weitere Informationen finden Sie unter about_Profiles.

Außerdem können Sie ab Windows PowerShell 3.0 das Get-TypeData Cmdlet verwenden, um die erweiterten Typen in der aktuellen Sitzung und das Remove-TypeData Cmdlet abzurufen, um erweiterte Typen aus der aktuellen Sitzung zu löschen.

Ausnahmen, die in Eigenschaften auftreten, oder vom Hinzufügen von Eigenschaften zu einem Update-TypeData Befehl, melden keine Fehler. Dadurch werden Ausnahmen unterdrückt, die während der Formatierung und Ausgabe in vielen gängigen Typen auftreten würden. Wenn Sie .NET-Eigenschaften abrufen, können Sie stattdessen mithilfe der Methodensyntax die Unterdrückung von Ausnahmen umgehen, wie im folgenden Beispiel gezeigt:

"hello".get_Length()

Beachten Sie, dass die Methodensyntax nur mit .NET-Eigenschaften verwendet werden kann. Eigenschaften, die durch Ausführen des Update-TypeData Cmdlets hinzugefügt werden, können keine Methodensyntax verwenden.

Weitere Informationen zu den Types.ps1xml Dateien in PowerShell finden Sie unter about_Types.ps1xml.

Beispiele

Beispiel 1: Aktualisieren erweiterter Typen

Update-TypeData

Mit diesem Befehl wird die konfiguration des erweiterten Typs aus den Types.ps1xml Dateien aktualisiert, die bereits in der Sitzung verwendet wurden.

Beispiel 2: Mehrfache Aktualisierungstypen

In diesem Beispiel wird gezeigt, wie die Typen in einer Typdatei mehrmals in derselben Sitzung aktualisiert werden.

Der erste Befehl aktualisiert die konfiguration des erweiterten Typs aus den Types.ps1xml Dateien, verarbeitet zuerst die TypesA.types.ps1xml Dateien und TypesB.types.ps1xml Dateien.

Der zweite Befehl zeigt, wie Sie die TypesA.types.ps1xml Aktualisierung erneut ausführen, z. B. wenn Sie einen Typ in der Datei hinzugefügt oder geändert haben. Sie können entweder den vorherigen Befehl für die TypesA.types.ps1xml Datei wiederholen oder einen Update-TypeData Befehl ohne Parameter ausführen, da TypesA.types.ps1xml sich bereits in der Typdateiliste für die aktuelle Sitzung befindet.

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

Beispiel 3: Hinzufügen einer Skripteigenschaft zu DateTime-Objekten

In diesem Beispiel wird Update-TypeData die Eigenschaft "Quarter "-Skript zu System.DateTime-Objekten in der aktuellen Sitzung hinzugefügt, z. B. die vom Get-Date Cmdlet zurückgegebenen.

$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

Der Update-TypeData Befehl verwendet den TypeName-Parameter , um den System.DateTime-Typ , den MemberName-Parameter anzugeben, um einen Namen für die neue Eigenschaft anzugeben, die MemberType-Eigenschaft , um den ScriptProperty-Typ anzugeben, und den Value-Parameter , um das Skript anzugeben, das das jährliche Quartal bestimmt.

Der Wert der Value-Eigenschaft ist ein Skript, das das aktuelle Jahresquartal berechnet. Der Skriptblock verwendet die $this automatische Variable, um die aktuelle Instanz des Objekts und den In-Operator darzustellen, um zu bestimmen, ob der Monatswert in jedem ganzzahligen Array angezeigt wird. Weitere Informationen zum -in Operator finden Sie unter about_Comparison_Operators.

Der zweite Befehl ruft die neue Quarter-Eigenschaft des aktuellen Datums ab.

Beispiel 4: Aktualisieren eines Typs, der standardmäßig in Listen angezeigt wird

In diesem Beispiel wird gezeigt, wie die Eigenschaften eines Typs festgelegt werden, der standardmäßig in Listen angezeigt wird, d. h., wenn keine Eigenschaften angegeben werden. Da die Typdaten in einer Types.ps1xml Datei nicht angegeben sind, ist sie nur in der aktuellen Sitzung wirksam.

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

Der erste Befehl zeigt die Listenansicht für den Get-Date Befehl an, der ein System.DateTime-Objekt ausgibt, das das aktuelle Datum darstellt. Der Befehl verwendet einen Pipelineoperator (|), um das DateTime-Objekt an das Format-List Cmdlet zu senden. Da der Format-List Befehl nicht die Eigenschaften angibt, die in der Liste angezeigt werden sollen, zeigt PowerShell jede öffentliche, nicht ausgeblendete Eigenschaft für das Objekt an.

Der zweite Befehl verwendet das Update-TypeData Cmdlet, um die Standardlisteneigenschaften für den System.DateTime-Typ festzulegen. Der Befehl verwendet den TypeName-Parameter , um den Typ und den DefaultDisplayPropertySet-Parameter anzugeben, um die Standardeigenschaften für eine Liste anzugeben. Die ausgewählten Eigenschaften enthalten die neue Quartalsskripteigenschaft , die in einem vorherigen Beispiel hinzugefügt wurde.

Der letzte Befehl ruft das aktuelle Datum ab und zeigt es erneut in einem Listenformat an. Sie zeigt nur die im Update-TypeData Befehl definierten Eigenschaften anstelle der vollständigen Liste der Eigenschaften an.

Beispiel 5: Festlegen der Eigenschaft, die ein Typ im breiten Format anzeigt

In diesem Beispiel wird veranschaulicht, wie Sie eine neue Skripteigenschaft erstellen und als Standardeigenschaft verwenden, die angezeigt wird, wenn der Typ an das Format-Wide Cmdlet übergeben wird.

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

Der erste Befehl verwendet das Get-Command Cmdlet, um jeden Befehl mit einem Namen mit dem Wort Filezurückzugeben. Die Ausgabe wird an das Format-Wide Cmdlet weitergeleitet, wodurch die Namen der Befehle in Spalten angezeigt werden.

Als Nächstes wird Update-TypeData im Beispiel sowohl die DefaultDisplayProperty-Eigenschaft als auch eine neue Skripteigenschaft für den CommandInfo-Typ definiert. Die Ausgabe für Get-Command gibt CommandInfo-Objekte und -Objekte zurück, die von diesem Typ abgeleitet sind. Die neue Skripteigenschaft FullyQualifiedName gibt den vollständigen Pfad zu ausführbaren Anwendungen und den vollqualifizierten Namen für Cmdlets zurück, der den Cmdlet-Namen mit dem Modul präfixiert, das es definiert. Das Update-TypeData Cmdlet kann die neue Skripteigenschaft definieren und als DefaultDisplayProperty im selben Befehl verwenden.

Schließlich zeigt die Ausgabe die Ergebnisse des Get-Command angezeigten breiten Formats nach der Typaktualisierung an. Er zeigt den vollqualifizierten Namen für Cmdlets und den vollständigen Pfad zu ausführbaren Anwendungen an.

Beispiel 6: Aktualisieren von Typdaten für ein piped-Objekt

$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

In diesem Beispiel wird veranschaulicht, dass beim Pipen eines Objekts Update-TypeDataUpdate-TypeData an den Objekttyp erweiterte Typdaten für den Objekttyp hinzugefügt werden.

Diese Technik ist schneller als die Verwendung des Get-Member Cmdlets oder der Get-Type Methode zum Abrufen des Objekttyps. Wenn Sie jedoch eine Auflistung von Objekten an Update-TypeDatapipen, aktualisiert sie die Typdaten des ersten Objekttyps und gibt dann einen Fehler für alle anderen Objekte in der Auflistung zurück, da das Element bereits für den Typ definiert ist.

Der erste Befehl verwendet das Get-Module Cmdlet, um das Modul "Microsoft.PowerShell.Utility " abzurufen. Der Befehl leitet das Modulobjekt an das Update-TypeData Cmdlet weiter, wodurch die Typdaten für den System.Management.Automation.PSModuleInfo-Typ und die daraus abgeleiteten Typen aktualisiert werden, z. B. der ModulInfoGrouping-TypGet-Module, der zurückgegeben wird, wenn Sie den Parameter ListAvailable im Befehl verwenden.

Mit Update-TypeData den Befehlen wird die Skripteigenschaft SupportsUpdatableHelp allen importierten Modulen hinzugefügt. Der Wert des Value-Parameters ist ein Skript, das zurückgibt $true , wenn die HelpInfoUri-Eigenschaft des Moduls aufgefüllt wird und $false andernfalls.

Mit dem zweiten Befehl werden die Modulobjekte von Get-Module dem Format-Table Cmdlet geleitet, in dem die Eigenschaften Name und SupportsUpdatableHelp der verfügbaren Module angezeigt werden.

Parameter

-AppendPath

Gibt den Pfad zu optionalen .ps1xml Dateien an. Die angegebenen Dateien werden in der Reihenfolge geladen, in der sie nach dem Laden der integrierten Dateien aufgelistet sind. Sie können auch einen AppendPath-Wert an Update-TypeData.

Typ:String[]
Aliase:PSPath, Path
Position:0
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultDisplayProperty

Gibt die Eigenschaft des Typs an, der Format-Wide vom Cmdlet angezeigt wird, wenn keine anderen Eigenschaften angegeben werden.

Geben Sie den Namen einer Standardeigenschaft oder erweiterten Eigenschaft des Typs ein. Der Wert dieses Parameters kann der Name eines Typs sein, der im selben Befehl hinzugefügt wird.

Dieser Wert ist nur wirksam, wenn für den Typ in einer Format.ps1xml Datei keine breiten Ansichten definiert sind.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultDisplayPropertySet

Gibt eine oder mehrere Eigenschaften des Typs an. Diese Eigenschaften werden von den Format-ListCmdlets angezeigtFormat-Custom, Format-Tablewenn keine anderen Eigenschaften angegeben werden.

Geben Sie die Namen der Standardeigenschaften oder erweiterten Eigenschaften des Typs ein. Der Wert dieses Parameters kann der Name von Typen sein, die im selben Befehl hinzugefügt werden.

Dieser Wert ist nur wirksam, wenn es keine Listen-, Tabellen- oder benutzerdefinierten Ansichten gibt, die für den Typ in einer Format.ps1xml Datei definiert sind.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultKeyPropertySet

Gibt eine oder mehrere Eigenschaften des Typs an. Diese Eigenschaften werden von den Group-Object Und-Cmdlets Sort-Object verwendet, wenn keine anderen Eigenschaften angegeben werden.

Geben Sie die Namen der Standardeigenschaften oder erweiterten Eigenschaften des Typs ein. Der Wert dieses Parameters kann der Name von Typen sein, die im selben Befehl hinzugefügt werden.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Force

Gibt an, dass das Cmdlet die angegebenen Typdaten verwendet, auch wenn typdaten bereits für diesen Typ angegeben wurden.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InheritPropertySerializationSet

Gibt an, ob der Satz von Eigenschaften, die serialisiert werden, geerbt wird. Der Standardwert ist $Null. Zulässige Werte für diesen Parameter:

  • $True. Der Eigenschaftensatz wird geerbt.
  • $False. Der Eigenschaftensatz wird nicht geerbt.
  • $Null. Die Vererbung ist nicht definiert.

Dieser Parameter ist nur gültig, wenn der Wert des SerializationMethod-Parameters lautet SpecificProperties. Wenn der Wert dieses Parameters lautet $False, ist der PropertySerializationSet-Parameter erforderlich.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:Nullable<T>[Boolean]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MemberName

Gibt den Namen einer Eigenschaft oder Methode an.

Verwenden Sie diesen Parameter mit den Parametern TypeName, MemberType, Value und SecondValue , um eine Eigenschaft oder Methode eines Typs hinzuzufügen oder zu ändern.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MemberType

Gibt den Typ des Members an, der hinzugefügt oder geändert werden soll.

Verwenden Sie diesen Parameter mit den Parametern TypeName, MemberType, Value und SecondValue , um eine Eigenschaft oder Methode eines Typs hinzuzufügen oder zu ändern. Zulässige Werte für diesen Parameter:

  • AliasProperty
  • CodeMethod
  • CodeProperty
  • Hinweiseigenschaft
  • ScriptMethod
  • ScriptProperty

Informationen zu diesen Werten finden Sie unter PSMemberTypes-Aufzählung.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:PSMemberTypes
Zulässige Werte:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PrependPath

Gibt den Pfad zu den optionalen .ps1xml Dateien an. Die angegebenen Dateien werden in der Reihenfolge geladen, in der sie vor dem Laden der integrierten Dateien aufgelistet sind.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PropertySerializationSet

Gibt die Namen der Eigenschaften an, die serialisiert werden. Verwenden Sie diesen Parameter, wenn der Wert des SerializationMethod-Parameters "SpecificProperties" lautet.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SecondValue

Gibt zusätzliche Werte für AliasProperty-, ScriptProperty-, CodeProperty- oder CodeMethod-Member an.

Verwenden Sie diesen Parameter mit den Parametern TypeName, MemberType, Value und SecondValue , um eine Eigenschaft oder Methode eines Typs hinzuzufügen oder zu ändern.

Wenn der Wert des MemberType-Parameters lautet AliasProperty, muss der Wert des SecondValue-Parameters ein Datentyp sein. PowerShell konvertiert (d. h. wandelt den Wert der Aliaseigenschaft in den angegebenen Typ um. Wenn Sie beispielsweise eine Aliaseigenschaft hinzufügen, die einen alternativen Namen für eine Zeichenfolgeneigenschaft bereitstellt, können Sie auch einen SecondValue von System.Int32 angeben, um den aliasierten Zeichenfolgenwert in eine ganze Zahl zu konvertieren.

Wenn der Wert des MemberType-Parameters lautet ScriptProperty, können Sie den Parameter SecondValue verwenden, um einen zusätzlichen Skriptblock anzugeben. Der Skriptblock im Wert des Value-Parameters ruft den Wert einer Variablen ab. Der Skriptblock im Wert des SecondValue-Parameters legt den Wert der Variablen fest.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:Object
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SerializationDepth

Gibt an, wie viele Ebenen von Objekten des Typs als Zeichenfolgen serialisiert werden. Der Standardwert 1 serialisiert das Objekt und dessen Eigenschaften. Ein Wert der Serialisierung des 0 Objekts, aber nicht deren Eigenschaften. Ein Wert der Serialisierung des 2 Objekts, seiner Eigenschaften und aller Objekte in Eigenschaftswerten.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:Int32
Position:Named
Standardwert:1
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SerializationMethod

Gibt eine Serialisierungsmethode für den Typ an. Eine Serialisierungsmethode bestimmt, welche Eigenschaften des Typs serialisiert werden und mit welchem Verfahren sie serialisiert werden. Zulässige Werte für diesen Parameter:

  • AllPublicProperties. Serialisieren alle öffentlichen Eigenschaften des Typs. Mit dem Parameter SerializationDepth können Sie ermitteln, ob untergeordnete Eigenschaften serialisiert werden.
  • String. Serialisieren den Typ als eine Zeichenfolge. Sie können die StringSerializationSource verwenden, um eine Eigenschaft des Typs anzugeben, die als Serialisierungsergebnis verwendet werden soll. Andernfalls wird der Typ mithilfe der ToString-Methode des Objekts serialisiert.
  • SpecificProperties. Serialisieren Sie nur die angegebenen Eigenschaften dieses Typs. Verwenden Sie den PropertySerializationSet-Parameter , um die Eigenschaften des typs anzugeben, der serialisiert wird. Sie können auch den Parameter InheritPropertySerializationSet verwenden, um zu bestimmen, ob der Eigenschaftensatz geerbt wird, und den Parameter SerializationDepth , um zu bestimmen, ob untergeordnete Eigenschaften serialisiert werden.

In PowerShell werden Serialisierungsmethoden in internen PSStandardMembers-Objekten gespeichert.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-StringSerializationSource

Gibt den Namen einer Eigenschaft des Typs an. Der Wert der angegebenen Eigenschaft wird als das Ergebnis der Serialisierung verwendet. Dieser Parameter ist nur gültig, wenn der Wert des SerializationMethod-Parameters "String" lautet.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TargetTypeForDeserialization

Gibt den Typ an, in den Objekte dieses Typs konvertiert werden, wenn sie deserialisiert werden.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:Type
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TypeAdapter

Gibt den Typ eines Typadapters an, z . B. Microsoft.PowerShell.Cim.CimInstanceAdapter. Ein Typadapter ermöglicht PowerShell das Abrufen der Member eines Typs.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:Type
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TypeConverter

Gibt einen Typkonverter zum Konvertieren von Werten zwischen verschiedenen Typen an. Wenn ein Typkonverter für einen Typ definiert ist, wird eine Instanz des Typkonverters für die Konvertierung verwendet.

Geben Sie einen System.Type-Wert ein, der von den Klassen System.ComponentModel.TypeConverter oder System.Management.Automation.PSTypeConverter abgeleitet wird.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:Type
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-TypeData

Gibt ein Array von Typdaten an, das dieses Cmdlet der Sitzung hinzufügt. Geben Sie eine Variable ein, die ein TypeData-Objekt oder einen Befehl enthält, der ein TypeData-Objekt abruft, z. B. einen Get-TypeData Befehl. Sie können auch ein TypeData-Objekt an Update-TypeData.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:TypeData[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-TypeName

Gibt den Namen des zu erweiternden Typs an.

Geben Sie für Typen im Systemnamespace den Kurznamen ein. Für andere Typen ist der vollständige Typname erforderlich. Platzhalter werden nicht unterstützt.

Sie können Typnamen Update-TypeDataan . Wenn Sie ein Objekt Update-TypeDataan die Striche zuweisen, Update-TypeData ruft den Typnamen des Objekts und die Typdaten an den Objekttyp ab.

Verwenden Sie diesen Parameter mit den Parametern "MemberName", "MemberType", "Value" und "SecondValue", um eine Eigenschaft oder Methode eines Typs hinzuzufügen oder zu ändern.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Value

Gibt den Wert der Eigenschaft oder Methode an.

Wenn Sie einen , oder ein Element hinzufügen, können Sie den Parameter SecondValue verwenden, um zusätzliche Informationen hinzuzufügen.CodeMethod ScriptPropertyCodePropertyAliasProperty

Verwenden Sie diesen Parameter mit den Parametern "MemberName", "MemberType", "Value" und "SecondValue", um eine Eigenschaft oder Methode eines Typs hinzuzufügen oder zu ändern.

Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.

Typ:Object
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

String

Sie können eine Zeichenfolge mit den Werten der Parameter "AppendPath", "TypeName" oder "TypeData " an dieses Cmdlet weiterleiten.

Ausgaben

None

Dieses Cmdlet gibt keine Ausgabe zurück.