Update-TypeData

Frissítések a munkamenet kiterjesztett típusadatait.

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

A Update-TypeData parancsmag frissíti a munkamenet kiterjesztett típusadatait a fájlok memóriába való Types.ps1xml újratöltésével és új kiterjesztett típusú adatok hozzáadásával.

A PowerShell alapértelmezés szerint szükség szerint betölti a kiterjesztett típusadatokat. Paraméterek Update-TypeData nélkül újra betölti a Types.ps1xml munkamenetbe betöltött összes fájlt, beleértve a hozzáadott típusfájlokat is. A paraméterekkel új típusfájlokat Update-TypeData adhat hozzá, és kiterjesztett típusadatokat adhat hozzá és cserélhet le.

A Update-TypeData parancsmag az összes típusadat előzetes betöltésére használható. Ez a funkció különösen akkor hasznos, ha típusokat fejleszt, és tesztelési célokra szeretné betölteni ezeket az új típusokat.

A Windows PowerShell 3.0-tól kezdődően fájl használata Types.ps1xml nélkül is hozzáadhat és lecserélhet Update-TypeData bővített típusú adatokat a munkamenetben. Írja be a dinamikusan hozzáadott adatokat, azaz fájl nélkül csak az aktuális munkamenethez. Ha minden munkamenethez hozzá szeretné adni a típusadatokat, adjon hozzá egy Update-TypeData parancsot a PowerShell-profiljához. További információ: about_Profiles.

A Windows PowerShell 3.0-tól kezdve a Get-TypeData parancsmaggal lekérheti az aktuális munkamenet kiterjesztett típusait, a Remove-TypeData parancsmag pedig törölheti a bővített típusokat az aktuális munkamenetből.

A tulajdonságokban vagy a tulajdonságok parancshoz való Update-TypeData hozzáadásában előforduló kivételek nem jelentik a hibákat. Ez a formázás és a kimenetelés során gyakran előforduló kivételek mellőzése. Ha .NET-tulajdonságokat kap, a kivételek mellőzése megkerülhető módszerszintaxis használatával, ahogyan az alábbi példában látható:

"hello".get_Length()

Vegye figyelembe, hogy a metódusszintaxis csak .NET-tulajdonságokkal használható. A parancsmag futtatásával hozzáadott tulajdonságok nem használhatják a Update-TypeData metódus szintaxisát.

A PowerShellben található Types.ps1xml fájlokkal kapcsolatos további információkért lásd: about_Types.ps1xml.

Példák

1. példa: Kiterjesztett típusok frissítése

Update-TypeData

Ez a parancs frissíti a kiterjesztett típuskonfigurációt a Types.ps1xml munkamenetben már használt fájlokból.

2. példa: A típusok többszöri frissítése

Ez a példa bemutatja, hogyan frissítheti a típusfájl típusait többször ugyanabban a munkamenetben.

Az első parancs frissíti a fájlok kiterjesztett Types.ps1xml típuskonfigurációját, először feldolgozva azokat és TypesB.types.ps1xml a TypesA.types.ps1xml fájlokat.

A második parancs bemutatja, hogyan frissítheti újra a TypesA.types.ps1xml fájlt, például ha hozzáadott vagy módosított egy típust a fájlban. Megismételheti a TypesA.types.ps1xml fájl előző parancsát, vagy futtathat paraméterek nélkül egy Update-TypeData parancsot, mert TypesA.types.ps1xml már szerepel az aktuális munkamenet típusfájllistájában.

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

3. példa: Szkripttulajdonság hozzáadása DateTime-objektumokhoz

Ez a példa a Quarter szkript tulajdonság hozzáadását használja Update-TypeData az aktuális munkamenet System.DateTime objektumaihoz, például a Get-Date parancsmag által visszaadott objektumokhoz.

Update-TypeData -TypeName "System.DateTime" -MemberType ScriptProperty -MemberName "Quarter" -Value {
  if ($this.Month -in @(1,2,3)) {"Q1"}
  elseif ($this.Month -in @(4,5,6)) {"Q2"}
  elseif ($this.Month -in @(7,8,9)) {"Q3"}
  else {"Q4"}
}
(Get-Date).Quarter

Q1

A Update-TypeData parancs a TypeName paraméterrel adja meg a System.DateTime típust, a MemberName paramétert az új tulajdonság nevének megadásához, a MemberType tulajdonságot a ScriptProperty típus megadásához, az Érték paramétert pedig az éves negyedévet meghatározó szkript megadásához.

Az Érték tulajdonság értéke egy szkript, amely kiszámítja az aktuális éves negyedévet. A szkriptblokk az automatikus változót használja az $this objektum aktuális példányának és az In operátornak a meghatározásához, hogy a hónap értéke megjelenjen-e az egyes egész számtömbökben. Az operátorral kapcsolatos további információkért lásd: -in about_Comparison_Operators.

A második parancs lekéri az aktuális dátum új Quarter tulajdonságát.

4. példa: A listákban alapértelmezés szerint megjelenő típus frissítése

Ez a példa bemutatja, hogyan állíthatja be a listákban alapértelmezés szerint megjelenő típus tulajdonságait, vagyis ha nincs megadva tulajdonság. Mivel a típusadatok nincsenek megadva egy Types.ps1xml fájlban, csak az aktuális munkamenetben érvényesek.

Update-TypeData -TypeName "System.DateTime" -DefaultDisplayPropertySet "DateTime, DayOfYear, Quarter"
Get-Date | Format-List

Thursday, March 15, 2012 12:00:00 AM
DayOfYear : 75
Quarter   : Q1

Az első parancs a Update-TypeData parancsmaggal állítja be a System.DateTime típus alapértelmezett listatulajdonságát. A parancs a TypeName paraméterrel adja meg a típust és a DefaultDisplayPropertySet paramétert a lista alapértelmezett tulajdonságainak megadásához. A kijelölt tulajdonságok közé tartozik az előző példában hozzáadott új Quarter szkripttulajdonság.

A második parancs a Get-Date parancsmaggal lekér egy System.DateTime objektumot, amely az aktuális dátumot jelöli. A parancs folyamatkezelővel (|) küldi el a DateTime objektumot a Format-List parancsmagnak. Mivel a Format-List parancs nem adja meg a listában megjelenítendő tulajdonságokat, a PowerShell a parancs által Update-TypeData létrehozott alapértelmezett értékeket használja.

5. példa: Piped objektum típusadatainak frissítése

Get-Module | Update-TypeData -MemberType ScriptProperty -MemberName "SupportsUpdatableHelp" -Value {
  if ($this.HelpInfoUri) {$True} else {$False}
}
Get-Module -ListAvailable | Format-Table Name, SupportsUpdatableHelp

Name                             SupportsUpdatableHelp
----                             ---------------------
Microsoft.PowerShell.Diagnostics                  True
Microsoft.PowerShell.Host                         True
Microsoft.PowerShell.Management                   True
Microsoft.PowerShell.Security                     True
Microsoft.PowerShell.Utility                      True
Microsoft.WSMan.Management                        True
PSDiagnostics                                    False
PSScheduledJob                                    True
PSWorkflow                                        True
ServerManager                                     True
TroubleshootingPack                              False

Ez a példa azt mutatja be, hogy amikor egy objektumot az objektumba Update-TypeDatacsövez, Update-TypeData kiterjesztett típusadatokat ad hozzá az objektumtípushoz.

Ez a technika gyorsabb, mint a Get-Member parancsmag vagy a Get-Type metódus használata az objektumtípus lekéréséhez. Ha azonban egy objektumgyűjteményt Update-TypeDataad vissza, az frissíti az első objektumtípus típusadatait, majd hibát ad vissza a gyűjtemény összes többi objektumára vonatkozóan, mert a tag már definiálva van a típuson.

Az első parancs a Get-Module parancsmagot használja a PSScheduledJob modul lekéréséhez. A parancs a modulobjektumot a Update-TypeData parancsmagra irányítja, amely frissíti a System.Management.Automation.PSModuleInfo típus és az abból származtatott típusok típusadatait, például a Parancs ListAvailable paraméterének használatakor visszaadott ModuleInfoGrouping típustGet-Module.

A Update-TypeData parancsok hozzáadják a SupportsUpdatableHelp szkripttulajdonságot az összes importált modulhoz. Az Érték paraméter értéke egy szkript, amely akkor ad vissza$True, ha a modul HelpInfoUri tulajdonsága fel van töltve, egyébként$False.

A második parancs a modulobjektumokat a Format-Table parancsmagba Get-Module irányítja, amely megjeleníti a lista összes moduljának Neve és SupportsUpdatableHelp tulajdonságát.

Paraméterek

-AppendPath

Megadja az opcionális .ps1xml fájlok elérési útját. A megadott fájlok a beépített fájlok betöltése után a lista szerinti sorrendben lesznek betöltve. Egy AppendPath-értéket is becsúszthat a programbaUpdate-TypeData.

Type:String[]
Aliases:PSPath, Path
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultDisplayProperty

Annak a típusnak a tulajdonságát adja meg, amelyet a Format-Wide parancsmag akkor jelenít meg, ha nincs más tulajdonság megadva.

Írja be a típus szabványos vagy kiterjesztett tulajdonságának nevét. Ennek a paraméternek az értéke lehet egy olyan típus neve, amely ugyanabban a parancsban van hozzáadva.

Ez az érték csak akkor érvényes, ha a fájl típusához Format.ps1xml nincs definiálva széles nézet.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultDisplayPropertySet

A típus egy vagy több tulajdonságát adja meg. Ezeket a tulajdonságokat a , Format-Tableés Format-Custom parancsmagok Format-Listjelenítik meg, ha nincs más tulajdonság megadva.

Írja be a típus szabványos vagy kiterjesztett tulajdonságainak nevét. Ennek a paraméternek az értéke lehet az ugyanazon parancsban hozzáadott típusok neve.

Ez az érték csak akkor érvényes, ha a fájl típusához Format.ps1xml nincs definiálva lista, táblázat vagy egyéni nézet.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultKeyPropertySet

A típus egy vagy több tulajdonságát adja meg. Ezeket a tulajdonságokat a parancsmagok és Sort-Object a Group-Object parancsmagok használják, ha nincs más tulajdonság megadva.

Írja be a típus szabványos vagy kiterjesztett tulajdonságainak nevét. Ennek a paraméternek az értéke lehet az ugyanazon parancsban hozzáadott típusok neve.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Azt jelzi, hogy a parancsmag a megadott típusadatokat használja, még akkor is, ha a típushoz már meg van adva típusadatok.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InheritPropertySerializationSet

Azt jelzi, hogy a szerializált tulajdonságok halmaza öröklődik-e. Az alapértelmezett érték $Null. A paraméter elfogadható értékei a következők:

  • $True. A tulajdonságkészlet öröklődik.
  • $False. A tulajdonságkészlet nem öröklődik.
  • $Null. Az öröklés nincs definiálva.

Ez a paraméter csak akkor érvényes, ha a SzerializálásMethod paraméter értéke .SpecificProperties Ha ennek a paraméternek az értéke, $Falsea PropertySerializationSet paraméter szükséges.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemberName

Egy tulajdonság vagy metódus nevét adja meg.

Ezt a paramétert a TypeName, a MemberType, az Value és a SecondValue paraméterekkel használhatja egy típus tulajdonságának vagy metódusának hozzáadásához vagy módosításához.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemberType

Megadja a hozzáadni vagy módosítani kívánt tag típusát.

Ezt a paramétert a TypeName, a MemberType, az Value és a SecondValue paraméterekkel használhatja egy típus tulajdonságának vagy metódusának hozzáadásához vagy módosításához. A paraméter elfogadható értékei a következők:

  • AliasProperty
  • CodeMethod
  • CodeProperty
  • Jegyzetproperty
  • ScriptMethod
  • ScriptProperty

Ezekről az értékekről további információt a PSMemberTypes Enumerálás című témakörben talál.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:PSMemberTypes
Accepted values:NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PrependPath

Megadja az opcionális .ps1xml fájlok elérési útját. A megadott fájlok betöltése a lista szerinti sorrendbe kerül a beépített fájlok betöltése előtt.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PropertySerializationSet

Megadja a szerializált tulajdonságok nevét. Ezt a paramétert akkor használja, ha a SzerializálásMethod paraméter értéke SpecificProperties.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecondValue

További értékeket ad meg az AliasProperty, a ScriptProperty, a CodeProperty vagy a CodeMethod tagok számára.

Ezt a paramétert a TypeName, a MemberType, az Value és a SecondValue paraméterekkel használhatja egy típus tulajdonságának vagy metódusának hozzáadásához vagy módosításához.

Ha a MemberType paraméter értéke, AliasPropertya SecondValue paraméter értékének adattípusnak kell lennie. A PowerShell az aliastulajdonság értékét a megadott típusra konvertálja (azaz leadja). Ha például olyan aliastulajdonságot ad hozzá, amely alternatív nevet ad egy sztringtulajdonságnak, megadhatja a System.Int32 SecondValueértékét is, hogy az aliasolt sztringértéket egész számmá alakítsa.

Ha a MemberType paraméter értéke az ScriptProperty, a SecondValue paraméter használatával megadhat egy további szkriptblokkot. Az Érték paraméter értékének szkriptblokkja egy változó értékét kapja meg. A SecondValue paraméter értékének szkriptblokkja beállítja a változó értékét.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SerializationDepth

Megadja, hogy a típusobjektumok hány szintje szerializálva van sztringként. Az alapértelmezett érték 1 szerializálja az objektumot és tulajdonságait. Egy érték 0 szerializálja az objektumot, de a tulajdonságait nem. Egy érték 2 szerializálja az objektumot, annak tulajdonságait és a tulajdonságértékekben szereplő összes objektumot.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:Int32
Position:Named
Default value:1
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SerializationMethod

A típus szerializálási módszerét adja meg. A szerializálási módszer határozza meg, hogy a típus mely tulajdonságai szerializálva vannak, és a szerializáláshoz használt technikát. A paraméter elfogadható értékei a következők:

  • AllPublicProperties. Szerializálja a típus összes nyilvános tulajdonságát. A SzerializálásDepth paraméter használatával meghatározhatja, hogy a gyermektulajdonságok szerializálva vannak-e.
  • String. Szerializálja a típust sztringként. A StringSerializationSource használatával megadhatja a szerializálási eredményként használni kívánt típusú tulajdonságot. Ellenkező esetben a típus szerializálva lesz az objektum ToString metódusával.
  • SpecificProperties. Csak az ilyen típusú tulajdonságok szerializálása. A PropertySerializationSet paraméter használatával adja meg a szerializált típus tulajdonságait. A InheritPropertySerializationSet paraméter használatával azt is megállapíthatja, hogy a tulajdonságkészlet öröklődik-e, a SzerializációDepth paraméter pedig meghatározza, hogy a gyermektulajdonságok szerializálva vannak-e.

A PowerShellben a szerializálási módszerek psStandardMembers belső objektumokban vannak tárolva.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StringSerializationSource

A típus egyik tulajdonságának nevét adja meg. A szerializáció eredményeként a megadott tulajdonság értékét használja a rendszer. Ez a paraméter csak akkor érvényes, ha a SzerializálásMethod paraméter értéke Sztring.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TargetTypeForDeserialization

Azt a típust adja meg, amelybe az ilyen típusú objektum deszerializált állapotban lesz konvertálva.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:Type
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypeAdapter

Megadja a típusadapter típusát, például a Microsoft.PowerShell.Cim.CimInstanceAdapter típust. A típusadapterekkel a PowerShell lekérheti egy típus tagjait.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:Type
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypeConverter

Típuskonvertert ad meg az értékek különböző típusok közötti konvertálásához. Ha típuskonverter van definiálva egy típushoz, a rendszer a típuskonverter egy példányát használja az átalakításhoz.

Adjon meg egy System.Type értéket, amely a System.ComponentModel.TypeConverter vagy a System.Management.Automation.PSTypeConverter osztályból származik.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:Type
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TypeData

A parancsmag által a munkamenethez hozzáadott adattömböt adja meg. Adjon meg egy TypeData objektumot tartalmazó változót, vagy egy TypeData-objektumot lekérő parancsot, például egy parancsotGet-TypeData. TypeData-objektumot is becsúszthat a parancsbaUpdate-TypeData.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:TypeData[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TypeName

A kibővítendő típus nevét adja meg.

A rendszernévtérben lévő típusok esetén adja meg a rövid nevet. Ellenkező esetben a teljes típusnév megadása kötelező. Helyettesítő karakterek nem használhatók.

A pipe type names to Update-TypeData. Amikor egy objektumot az objektumba Update-TypeDatacsövez, Update-TypeData lekéri az objektum típusnevét, és beírja az adatokat az objektumtípusba.

Ezt a paramétert a MemberName, a MemberType, az Value és a SecondValue paraméterekkel használhatja egy típusú tulajdonság vagy metódus hozzáadásához vagy módosításához.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Value

A tulajdonság vagy metódus értékét adja meg.

Ha hozzáad egy AliasProperty, CodeProperty, vagy ScriptPropertyCodeMethod tagot, a SecondValue paraméter használatával további információkat adhat hozzá.

Ezt a paramétert a MemberName, a MemberType, az Value és a SecondValue paraméterekkel használhatja egy típusú tulajdonság vagy metódus hozzáadásához vagy módosításához.

Ezt a paramétert a Windows PowerShell 3.0-ban vezettük be.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

String

A parancsmagra az AppendPath, TypeName vagy TypeData paraméterek értékeit tartalmazó sztringet csövezhet.

Kimenetek

None

Ez a parancsmag nem ad vissza kimenetet.