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-TypeData
csö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-TypeData
ad 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-List
jelení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, $False
a 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, AliasProperty
a 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-TypeData
csö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 ScriptProperty
CodeMethod
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
A parancsmagra az AppendPath, TypeName vagy TypeData paraméterek értékeit tartalmazó sztringet csövezhet.
Kimenetek
None
Ez a parancsmag nem ad vissza kimenetet.
Kapcsolódó hivatkozások
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: