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-TypeDataUpdate-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-TypeDatayö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-Tableve Format-Custom cmdlet'leri tarafından Format-Listgö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 SpecificPropertiesgeçerlidir. Bu parametrenin değeri olduğunda $FalsePropertySerializationSet 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-TypeDatade 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-TypeDatayöneltebilirsiniz. Bir nesneyi öğesine Update-TypeDataUpdate-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, ScriptPropertyveya 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

String

AppendPath, TypeName veya TypeData parametrelerinin değerlerini içeren bir dizeyi bu cmdlet'e aktarabilirsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez.