Update-TypeData
Oturumdaki genişletilmiş tür verilerini Güncelleştirmeler.
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
Cmdlet, Update-TypeData
dosyaları belleğe yeniden yükleyip yeni genişletilmiş tür verileri ekleyerek oturumdaki Types.ps1xml
genişletilmiş tür verilerini güncelleştirir.
Varsayılan olarak, PowerShell gerektiğinde genişletilmiş tür verilerini yükler. Parametreler olmadan, Update-TypeData
eklediğiniz tüm tür dosyaları da dahil olmak üzere oturumda yüklediği tüm Types.ps1xml
dosyaları yeniden yükler. yeni tür dosyaları eklemek ve genişletilmiş tür verilerini eklemek ve değiştirmek için parametresini Update-TypeData
kullanabilirsiniz.
Update-TypeData
Cmdlet tüm tür verilerini önceden yüklemek için kullanılabilir. Bu özellik özellikle türleri geliştirirken ve bu yeni türleri test amacıyla yüklemek istediğinizde kullanışlıdır.
Windows PowerShell 3.0'da başlayarak, oturumdaki genişletilmiş tür verilerini dosya kullanmadan Types.ps1xml
eklemek ve değiştirmek için kullanabilirsinizUpdate-TypeData
. Dinamik olarak eklenen, yani dosya içermeyen tür verileri yalnızca geçerli oturuma eklenir. Tür verilerini tüm oturumlara eklemek için PowerShell profilinize bir Update-TypeData
komut ekleyin. Daha fazla bilgi için bkz . about_Profiles.
Ayrıca, Windows PowerShell 3.0'dan başlayarak, geçerli oturumdaki genişletilmiş türleri almak için cmdlet'ini ve Remove-TypeData
genişletilmiş türleri geçerli oturumdan silmek için cmdlet'ini kullanabilirsinizGet-TypeData
.
Özelliklerde veya bir Update-TypeData
komuta özellik ekleme sırasında oluşan özel durumlar hataları bildirmez. Bu, biçimlendirme ve çıkış sırasında birçok yaygın türde ortaya çıkabilecek özel durumları engellemektir. .NET özellikleri alıyorsanız, aşağıdaki örnekte gösterildiği gibi bunun yerine yöntem söz dizimini kullanarak özel durumların gizlenmesiyle ilgili geçici bir çözüm bulabilirsiniz:
"hello".get_Length()
Yöntem söz dizimlerinin yalnızca .NET özellikleriyle kullanılabileceğini unutmayın. cmdlet'i çalıştırılarak Update-TypeData
eklenen özellikler yöntem söz dizimini kullanamaz.
PowerShell'deki Types.ps1xml
dosyalar hakkında daha fazla bilgi için bkz . about_Types.ps1xml.
Örnekler
Örnek 1: Genişletilmiş türleri güncelleştirme
Update-TypeData
Bu komut, oturumda zaten kullanılmış olan dosyalardan Types.ps1xml
genişletilmiş tür yapılandırmasını güncelleştirir.
Örnek 2: Türleri birden çok kez güncelleştirme
Bu örnekte, aynı oturumda bir tür dosyasındaki türlerin birden çok kez nasıl güncelleştirilecekleri gösterilmektedir.
İlk komut, genişletilmiş tür yapılandırmasını dosyalardan Types.ps1xml
güncelleştirir, önce ve TypesB.types.ps1xml
dosyalarını işlerTypesA.types.ps1xml
.
İkinci komut, dosyaya TypesA.types.ps1xml
bir tür eklediyseniz veya değiştirdiyseniz yapabileceğiniz gibi öğesinin nasıl yeniden güncelleştirildiğini gösterir. Dosya için önceki komutu yineleyebilir veya geçerli oturumun TypesA.types.ps1xml
tür dosyası listesinde olduğundan TypesA.types.ps1xml
parametresiz bir Update-TypeData
komut çalıştırabilirsiniz.
Update-TypeData -PrependPath TypesA.types.ps1xml, TypesB.types.ps1xml
Update-TypeData -PrependPath TypesA.types.ps1xml
Örnek 3: DateTime nesnelerine betik özelliği ekleme
Bu örnek, cmdlet'i tarafından Get-Date
döndürülenler gibi geçerli oturumdaki System.DateTime nesnelerine Quarter betiği özelliğini eklemek için kullanırUpdate-TypeData
.
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
Komut, Update-TypeData
System.DateTime türünü belirtmek için TypeName parametresini, yeni özelliğin adını belirtmek için MemberName parametresini, ScriptProperty türünü belirtmek için MemberType özelliğini ve yıllık üç aylık dönemi belirleyen betiği belirtmek için Value parametresini kullanır.
Value özelliğinin değeri, geçerli yıllık üç aylık dönemi hesaplayan bir betiktir. Betik bloğu, nesnenin $this
geçerli örneğini temsil etmek için otomatik değişkeni ve ay değerinin her tamsayı dizisinde görünüp görünmediğini belirlemek için In işlecini kullanır. İşleç -in
hakkında daha fazla bilgi için bkz . about_Comparison_Operators.
İkinci komut geçerli tarihin yeni Quarter özelliğini alır.
Örnek 4: Listelerde varsayılan olarak görüntülenen bir türü güncelleştirme
Bu örnekte, listelerde varsayılan olarak görüntülenen bir türün özelliklerini ayarlama işlemi (başka bir ifadeyle, hiçbir özellik belirtilmediğinde) gösterilmektedir. Tür verileri bir Types.ps1xml
dosyada belirtilmediğinden, yalnızca geçerli oturumda etkilidir.
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
İlk komut, System.DateTime türünün varsayılan liste özelliklerini ayarlamak için cmdlet'ini kullanırUpdate-TypeData
. komutu type değerini belirtmek için TypeName parametresini ve listenin varsayılan özelliklerini belirtmek için DefaultDisplayPropertySet parametresini kullanır. Seçilen özellikler, önceki örnekte eklenen yeni Quarter betiği özelliğini içerir.
İkinci komut, geçerli tarihi temsil eden bir System.DateTime nesnesi almak için cmdlet'ini kullanırGet-Date
. Komut, DateTime nesnesini cmdlet'ine göndermek için Format-List
bir işlem hattı işleci (|
) kullanır. Format-List
Komut listede görüntülenecek özellikleri belirtmediğinden, PowerShell komutu tarafından Update-TypeData
oluşturulan varsayılan değerleri kullanır.
Örnek 5: Kanallı nesne için tür verilerini güncelleştirme
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
Bu örnekte, bir nesneyi öğesine Update-TypeData
Update-TypeData
yönelttiğiniz zaman nesne türü için genişletilmiş tür verileri eklendiğini gösterir.
Bu teknik, nesne türünü almak için cmdlet'ini Get-Type
veya yöntemini kullanmaktan Get-Member
daha hızlıdır. Ancak, bir nesne koleksiyonunu öğesine Update-TypeData
yönelterseniz, ilk nesne türünün tür verilerini güncelleştirir ve ardından üye türü üzerinde zaten tanımlandığından koleksiyondaki diğer tüm nesneler için bir hata döndürür.
İlk komut, PSScheduledJob modülünü almak için cmdlet'ini kullanır Get-Module
. komut, modül nesnesini cmdlet'ine Update-TypeData
aktarır. Bu, System.Management.Automation.PSModuleInfo türü için tür verilerini ve komutunda ListAvailable parametresini kullandığınızda döndürülen ModuleInfoGrouping türü Get-Module
gibi tür türlerini güncelleştirir.
Komutlar, Update-TypeData
içeri aktarılan tüm modüllere SupportsUpdatableHelp betiği özelliğini ekler. Value parametresinin değeri, modülün HelpInfoUri özelliği doldurulmuşsa ve $False
değilse döndüren $True
bir betiktir.
İkinci komut, modül nesnelerini Get-Module
bir listedeki tüm modüllerin Format-Table
Name ve SupportsUpdatableHelp özelliklerini görüntüleyen cmdlet'ine aktarır.
Parametreler
-AppendPath
İsteğe bağlı .ps1xml
dosyaların yolunu belirtir. Belirtilen dosyalar, yerleşik dosyalar yüklendikten sonra listelendikleri sırayla yüklenir. Ayrıca AppendPath değerini öğesine de yöneltebilirsinizUpdate-TypeData
.
Type: | String[] |
Aliases: | PSPath, Path |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultDisplayProperty
Başka bir özellik belirtilmediğinde cmdlet tarafından görüntülenen türün Format-Wide
özelliğini belirtir.
Türün standart veya genişletilmiş özelliğinin adını yazın. Bu parametrenin değeri, aynı komutta eklenen bir türün adı olabilir.
Bu değer yalnızca bir dosyadaki Format.ps1xml
tür için tanımlanmış geniş görünümler olmadığında geçerlidir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultDisplayPropertySet
Türün bir veya daha fazla özelliğini belirtir. Bu özellikler, başka bir özellik belirtilmediğinde , Format-Table
ve Format-Custom
cmdlet'leri tarafından Format-List
görüntülenir.
Türün standart veya genişletilmiş özelliklerinin adlarını yazın. Bu parametrenin değeri, aynı komutta eklenen türlerin adları olabilir.
Bu değer yalnızca bir dosyadaki Format.ps1xml
tür için sırasıyla tanımlı liste, tablo veya özel görünüm olmadığında geçerlidir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultKeyPropertySet
Türün bir veya daha fazla özelliğini belirtir. Bu özellikler, başka bir özellik belirtilmediğinde ve Sort-Object
cmdlet'leri tarafından Group-Object
kullanılır.
Türün standart veya genişletilmiş özelliklerinin adlarını yazın. Bu parametrenin değeri, aynı komutta eklenen türlerin adları olabilir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Cmdlet'in, bu tür için önceden tür verileri belirtilmiş olsa bile belirtilen tür verilerini kullandığını gösterir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InheritPropertySerializationSet
Seri hale getirilmiş özellik kümesinin devralınıp devralınmadığını gösterir. Varsayılan değer şudur: $Null
. Bu parametrenin kabul edilebilir değerleri şunlardır:
$True
. Özellik kümesi devralınır.$False
. Özellik kümesi devralınmıyor.$Null
. Devralma tanımlanmadı.
Bu parametre yalnızca SerializationMethod parametresinin değeri olduğunda SpecificProperties
geçerlidir. Bu parametrenin değeri olduğunda $False
PropertySerializationSet parametresi gereklidir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | Nullable<T>[Boolean] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MemberName
Bir özelliğin veya yöntemin adını belirtir.
Türün bir özelliğini veya yöntemini eklemek veya değiştirmek için bu parametreyi TypeName, MemberType, Value ve SecondValue parametreleriyle kullanın.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MemberType
Eklenecek veya değiştirecek üyenin türünü belirtir.
Türün bir özelliğini veya yöntemini eklemek veya değiştirmek için bu parametreyi TypeName, MemberType, Value ve SecondValue parametreleriyle kullanın. Bu parametrenin kabul edilebilir değerleri şunlardır:
- AliasProperty
- CodeMethod
- CodeProperty
- Not özelliği
- ScriptMethod
- ScriptProperty
Bu değerler hakkında bilgi için bkz . PSMemberTypes Numaralandırması.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
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
İsteğe bağlı .ps1xml
dosyaların yolunu belirtir. Belirtilen dosyalar, yerleşik dosyalar yüklenmeden önce listelendikleri sırayla yüklenir.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PropertySerializationSet
Seri hale getirilmiş özelliklerin adlarını belirtir. SerializationMethod parametresinin değeri SpecificProperties olduğunda bu parametreyi kullanın.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecondValue
AliasProperty, ScriptProperty, CodeProperty veya CodeMethod üyeleri için ek değerleri belirtir.
Türün bir özelliğini veya yöntemini eklemek veya değiştirmek için bu parametreyi TypeName, MemberType, Value ve SecondValue parametreleriyle kullanın.
MemberType parametresinin değeri olduğundaAliasProperty
, SecondValue parametresinin değeri bir veri türü olmalıdır. PowerShell, diğer ad özelliğinin değerini belirtilen türe dönüştürür (başka bir ifadeyle yayınlar). Örneğin, dize özelliği için alternatif bir ad sağlayan bir diğer ad özelliği eklerseniz, diğer adı alınan dize değerini tamsayıya dönüştürmek için Bir SecondValue of System.Int32 de belirtebilirsiniz.
MemberType parametresinin değeri olduğundaScriptProperty
, ek bir betik bloğu belirtmek için SecondValue parametresini kullanabilirsiniz. Value parametresinin değerindeki betik bloğu bir değişkenin değerini alır. SecondValue parametresinin değerindeki betik bloğu değişkeninin değerini ayarlar.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SerializationDepth
Tür nesnelerinin dize olarak seri hale getirilebileceği düzey sayısını belirtir. Varsayılan değer 1
, nesneyi ve özelliklerini serileştirir. değeri 0
nesnesini serileştirir, ancak özelliklerini seri hale getirmez. değeri 2
, nesnesini, özelliklerini ve özellik değerlerindeki nesneleri serileştirir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | Int32 |
Position: | Named |
Default value: | 1 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SerializationMethod
Türü için bir serileştirme yöntemi belirtir. Serileştirme yöntemi, türün hangi özelliklerinin seri hale getirildiğini ve bunları serileştirmek için kullanılan tekniği belirler. Bu parametrenin kabul edilebilir değerleri şunlardır:
AllPublicProperties
. Türün tüm genel özelliklerini seri hale getirme. Alt özelliklerin seri hale getirilip getirilmediğini belirlemek için SerializationDepth parametresini kullanabilirsiniz.String
. Türü dize olarak seri hale getirme. Serileştirme sonucu olarak kullanılacak türün bir özelliğini belirtmek için StringSerializationSource kullanabilirsiniz. Aksi takdirde, türü nesnenin ToString yöntemi kullanılarak serileştirilir.SpecificProperties
. Yalnızca bu türün belirtilen özelliklerini seri hale getir. Seri hale getirilmiş türün özelliklerini belirtmek için PropertySerializationSet parametresini kullanın. Ayrıca, özellik kümesinin devralınıp devralınmadığını belirlemek için InheritPropertySerializationSet parametresini ve alt özelliklerin serileştirilip serileştirilmediğini belirlemek için SerializationDepth parametresini de kullanabilirsiniz.
PowerShell'de serileştirme yöntemleri PSStandardMembers iç nesnelerinde depolanır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StringSerializationSource
türündeki bir özelliğin adını belirtir. Belirtilen özelliğin değeri serileştirme sonucu olarak kullanılır. Bu parametre yalnızca SerializationMethod parametresinin değeri String olduğunda geçerlidir.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TargetTypeForDeserialization
Seri durumdan çıkarıldığında bu türdeki nesnenin dönüştürüldüğü türü belirtir.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | Type |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypeAdapter
Microsoft.PowerShell.Cim.CimInstanceAdapter gibi bir tür bağdaştırıcısının türünü belirtir. Tür bağdaştırıcısı, PowerShell'in bir türün üyelerini almasına olanak tanır.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | Type |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypeConverter
Değerleri farklı türler arasında dönüştürmek için bir tür dönüştürücüsü belirtir. Tür dönüştürücüsü bir tür için tanımlanmışsa, dönüştürme için tür dönüştürücüsünün bir örneği kullanılır.
System.ComponentModel.TypeConverter veya System.Management.Automation.PSTypeConverter sınıflarından türetilen bir System.Type değeri girin.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | Type |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypeData
Bu cmdlet'in oturuma eklediği tür veri dizisini belirtir. TypeData nesnesi veya komut gibi bir TypeData nesnesi alan bir komut içeren bir Get-TypeData
değişken girin. Bir TypeData nesnesini öğesine Update-TypeData
de yöneltebilirsiniz.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | TypeData[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TypeName
Genişletecek türün adını belirtir.
Sistem ad alanı içindeki türler için kısa adı girin. Aksi takdirde, tam tür adı gereklidir. Joker karakterler desteklenmez.
Tür adlarını adresine Update-TypeData
yöneltebilirsiniz. Bir nesneyi öğesine Update-TypeData
Update-TypeData
yönelttiğiniz zaman, nesnenin tür adını alır ve veri türünü nesne türüne yazar.
Bir türün özelliğini veya yöntemini eklemek veya değiştirmek için bu parametreyi MemberName, MemberType, Value ve SecondValue parametreleriyle kullanın.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Value
Özelliğin veya yöntemin değerini belirtir.
Bir AliasProperty
, CodeProperty
, ScriptProperty
veya CodeMethod
üyesi eklerseniz, ek bilgi eklemek için SecondValue parametresini kullanabilirsiniz.
Bir türün özelliğini veya yöntemini eklemek veya değiştirmek için bu parametreyi MemberName, MemberType, Value ve SecondValue parametreleriyle kullanın.
Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
AppendPath, TypeName veya TypeData parametrelerinin değerlerini içeren bir dizeyi bu cmdlet'e aktarabilirsiniz.
Çıkışlar
None
Bu cmdlet çıkış döndürmez.
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin