Update-TypeData
Memperbarui data jenis yang diperluas dalam sesi.
Sintaks
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>]
Deskripsi
Update-TypeData
Cmdlet memperbarui data jenis yang diperluas dalam sesi dengan memuat Types.ps1xml
ulang file ke dalam memori dan menambahkan data jenis baru yang diperluas.
Secara default, PowerShell memuat data jenis yang diperluas karena diperlukan. Tanpa parameter, Update-TypeData
memuat ulang semua Types.ps1xml
file yang telah dimuat dalam sesi, termasuk file jenis apa pun yang Anda tambahkan. Anda dapat menggunakan parameter Update-TypeData
untuk menambahkan file jenis baru dan menambahkan dan mengganti data jenis yang diperluas.
Update-TypeData
Cmdlet dapat digunakan untuk memuat semua jenis data. Fitur ini sangat berguna ketika Anda mengembangkan jenis dan ingin memuat jenis baru tersebut untuk tujuan pengujian.
Dimulai di Windows PowerShell 3.0, Anda dapat menggunakan Update-TypeData
untuk menambahkan dan mengganti data tipe yang diperluas dalam sesi tanpa menggunakan Types.ps1xml
file. Ketik data yang ditambahkan secara dinamis, yaitu, tanpa file, ditambahkan hanya ke sesi saat ini. Untuk menambahkan data jenis ke semua sesi, tambahkan Update-TypeData
perintah ke profil PowerShell Anda. Untuk informasi selengkapnya, lihat about_Profiles.
Selain itu, dimulai di Windows PowerShell 3.0, Anda dapat menggunakan Get-TypeData
cmdlet untuk mendapatkan jenis yang diperluas dalam sesi saat ini dan Remove-TypeData
cmdlet untuk menghapus jenis yang diperluas dari sesi saat ini.
Pengecualian yang terjadi di properti, atau dari menambahkan properti ke Update-TypeData
perintah, jangan laporkan kesalahan. Ini untuk menekan pengecualian yang akan terjadi dalam banyak jenis umum selama pemformatan dan output. Jika Anda mendapatkan properti .NET, Anda dapat mengatasi penekanan pengecualian dengan menggunakan sintaks metode sebagai gantinya, seperti yang ditunjukkan dalam contoh berikut:
"hello".get_Length()
Perhatikan bahwa sintaks metode hanya dapat digunakan dengan properti .NET. Properti yang ditambahkan dengan menjalankan Update-TypeData
cmdlet tidak dapat menggunakan sintaks metode.
Untuk informasi selengkapnya tentang Types.ps1xml
file di PowerShell, lihat about_Types.ps1xml.
Contoh
Contoh 1: Memperbarui jenis yang diperluas
Update-TypeData
Perintah ini memperbarui konfigurasi tipe yang diperluas dari Types.ps1xml
file yang telah digunakan dalam sesi.
Contoh 2: Memperbarui jenis beberapa kali
Contoh ini menunjukkan cara memperbarui jenis dalam file jenis beberapa kali dalam sesi yang sama.
Perintah pertama memperbarui konfigurasi jenis yang diperluas dari Types.ps1xml
file, memproses file dan TypesB.types.ps1xml
terlebih TypesA.types.ps1xml
dahulu.
Perintah kedua memperlihatkan cara memperbarui TypesA.types.ps1xml
lagi, seperti yang mungkin Anda lakukan jika Anda menambahkan atau mengubah jenis dalam file. Anda dapat mengulangi perintah sebelumnya untuk TypesA.types.ps1xml
file, atau menjalankan Update-TypeData
perintah tanpa parameter, karena TypesA.types.ps1xml
sudah ada dalam daftar file jenis untuk sesi saat ini.
Update-TypeData -PrependPath TypesA.types.ps1xml, TypesB.types.ps1xml
Update-TypeData -PrependPath TypesA.types.ps1xml
Contoh 3: Menambahkan properti skrip ke objek DateTime
Contoh ini menggunakan Update-TypeData
untuk menambahkan properti skrip Kuartal ke objek System.DateTime dalam sesi saat ini, seperti yang dikembalikan oleh Get-Date
cmdlet.
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
Perintah Update-TypeData
menggunakan parameter TypeName untuk menentukan jenis System.DateTime , parameter MemberName untuk menentukan nama untuk properti baru, properti MemberType untuk menentukan jenis ScriptProperty , dan parameter Nilai untuk menentukan skrip yang menentukan kuartal tahunan.
Nilai properti Nilai adalah skrip yang menghitung kuartal tahunan saat ini. Blok skrip menggunakan variabel otomatis untuk mewakili instans $this
objek saat ini dan operator Dalam untuk menentukan apakah nilai bulan muncul di setiap array bilangan bulat. Untuk informasi selengkapnya tentang -in
operator, lihat about_Comparison_Operators.
Perintah kedua mendapatkan properti Kuartal baru dari tanggal saat ini.
Contoh 4: Memperbarui jenis yang ditampilkan dalam daftar secara default
Contoh ini memperlihatkan cara mengatur properti jenis yang ditampilkan dalam daftar secara default, yaitu, ketika tidak ada properti yang ditentukan. Karena data jenis tidak ditentukan dalam Types.ps1xml
file, data tersebut hanya efektif dalam sesi saat ini.
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
Perintah pertama menggunakan Update-TypeData
cmdlet untuk mengatur properti daftar default untuk jenis System.DateTime . Perintah menggunakan parameter TypeName untuk menentukan jenis dan parameter DefaultDisplayPropertySet untuk menentukan properti default untuk daftar. Properti yang dipilih mencakup properti skrip Kuartal baru yang ditambahkan dalam contoh sebelumnya.
Perintah kedua menggunakan Get-Date
cmdlet untuk mendapatkan objek System.DateTime yang mewakili tanggal saat ini. Perintah menggunakan operator alur (|
) untuk mengirim objek DateTime ke Format-List
cmdlet. Format-List
Karena perintah tidak menentukan properti yang akan ditampilkan dalam daftar, PowerShell menggunakan nilai default yang dibuat oleh Update-TypeData
perintah .
Contoh 5: Memperbarui data jenis untuk objek yang disalurkan
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
Contoh ini menunjukkan bahwa saat Anda menyalurkan objek ke Update-TypeData
, Update-TypeData
menambahkan data jenis yang diperluas untuk jenis objek.
Teknik ini lebih cepat daripada menggunakan Get-Member
cmdlet atau Get-Type
metode untuk mendapatkan jenis objek. Namun, jika Anda menyalurkan kumpulan objek ke Update-TypeData
, itu memperbarui jenis data dari jenis objek pertama dan kemudian mengembalikan kesalahan untuk semua objek lain dalam koleksi karena anggota sudah ditentukan pada jenis .
Perintah pertama menggunakan Get-Module
cmdlet untuk mendapatkan modul PSScheduledJob. Perintah menyalurkan objek modul ke Update-TypeData
cmdlet, yang memperbarui data jenis untuk jenis System.Management.Automation.PSModuleInfo dan jenis yang berasal darinya, seperti jenis ModuleInfoGrouping yang Get-Module
kembali saat Anda menggunakan parameter ListAvailable dalam perintah.
Perintah Update-TypeData
menambahkan properti skrip SupportsUpdatableHelp ke semua modul yang diimpor. Nilai parameter Nilai adalah skrip yang mengembalikan $True
jika properti HelpInfoUri modul diisi dan $False
sebaliknya.
Perintah kedua menyalurkan objek modul dari Get-Module
ke Format-Table
cmdlet, yang menampilkan properti Nama dan DukunganUpdatableHelp dari semua modul dalam daftar.
Parameter
-AppendPath
Menentukan jalur ke file opsional .ps1xml
. File yang ditentukan dimuat dalam urutan yang tercantum setelah file bawaan dimuat. Anda juga dapat menyalurkan nilai AppendPath ke Update-TypeData
.
Jenis: | String[] |
Aliases: | PSPath, Path |
Position: | 0 |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Aliases: | cf |
Position: | Named |
nilai default: | False |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultDisplayProperty
Menentukan properti tipe yang ditampilkan oleh Format-Wide
cmdlet ketika tidak ada properti lain yang ditentukan.
Ketik nama properti standar atau diperluas dari jenis tersebut. Nilai parameter ini bisa menjadi nama jenis yang ditambahkan dalam perintah yang sama.
Nilai ini hanya efektif ketika tidak ada tampilan lebar yang ditentukan untuk jenis dalam Format.ps1xml
file.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultDisplayPropertySet
Menentukan satu atau beberapa properti tipe. Properti ini ditampilkan oleh Format-List
cmdlet , , Format-Table
dan Format-Custom
ketika tidak ada properti lain yang ditentukan.
Ketik nama properti standar atau diperluas dari jenis tersebut. Nilai parameter ini bisa menjadi nama jenis yang ditambahkan dalam perintah yang sama.
Nilai ini hanya efektif ketika tidak ada tampilan daftar, tabel, atau kustom, yang masing-masing ditentukan untuk jenis dalam Format.ps1xml
file.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | String[] |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultKeyPropertySet
Menentukan satu atau beberapa properti tipe. Properti ini digunakan oleh Group-Object
cmdlet dan Sort-Object
ketika tidak ada properti lain yang ditentukan.
Ketik nama properti standar atau diperluas dari jenis tersebut. Nilai parameter ini bisa menjadi nama jenis yang ditambahkan dalam perintah yang sama.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | String[] |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Menunjukkan bahwa cmdlet menggunakan data jenis yang ditentukan, bahkan jika data jenis telah ditentukan untuk jenis tersebut.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | SwitchParameter |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InheritPropertySerializationSet
Menunjukkan apakah kumpulan properti yang diserialisasikan diwariskan. Nilai defaultnya adalah $Null
. Nilai yang dapat diterima untuk parameter ini adalah:
$True
. Kumpulan properti diwariskan.$False
. Kumpulan properti tidak diwariskan.$Null
. Warisan tidak didefinisikan.
Parameter ini hanya valid ketika nilai parameter SerializationMethod adalah SpecificProperties
. Ketika nilai parameter ini adalah $False
, parameter PropertySerializationSet diperlukan.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | Nullable<T>[Boolean] |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MemberName
Menentukan nama properti atau metode.
Gunakan parameter ini dengan parameter TypeName, MemberType, Value, dan SecondValue untuk menambahkan atau mengubah properti atau metode jenis.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MemberType
Menentukan tipe anggota yang akan ditambahkan atau diubah.
Gunakan parameter ini dengan parameter TypeName, MemberType, Value, dan SecondValue untuk menambahkan atau mengubah properti atau metode jenis. Nilai yang dapat diterima untuk parameter ini adalah:
- AliasProperty
- CodeMethod
- CodeProperty
- Catatanproperti
- ScriptMethod
- ScriptProperty
Untuk informasi tentang nilai-nilai ini, lihat Enumerasi PSMemberTypes.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | PSMemberTypes |
nilai yang diterima: | NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PrependPath
Menentukan jalur ke file opsional .ps1xml
. File yang ditentukan dimuat dalam urutan yang tercantum sebelum file bawaan dimuat.
Jenis: | String[] |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PropertySerializationSet
Menentukan nama properti yang diserialisasikan. Gunakan parameter ini saat nilai parameter SerializationMethod adalah SpecificProperties.
Jenis: | String[] |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecondValue
Menentukan nilai tambahan untuk anggota AliasProperty, ScriptProperty, CodeProperty, atau CodeMethod .
Gunakan parameter ini dengan parameter TypeName, MemberType, Value, dan SecondValue untuk menambahkan atau mengubah properti atau metode jenis.
Ketika nilai parameter MemberType adalah AliasProperty
, nilai parameter SecondValue harus berupa jenis data. PowerShell mengonversi (yaitu, mentransmisikan) nilai properti alias ke jenis yang ditentukan. Misalnya, jika Anda menambahkan properti alias yang menyediakan nama alternatif untuk properti string, Anda juga dapat menentukan SecondValue of System.Int32 untuk mengonversi nilai string alias menjadi bilangan bulat.
Saat nilai parameter MemberType adalah ScriptProperty
, Anda dapat menggunakan parameter SecondValue untuk menentukan blok skrip tambahan. Blok skrip dalam nilai parameter Nilai mendapatkan nilai variabel. Blok skrip dalam nilai parameter SecondValue mengatur nilai variabel.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | Object |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SerializationDepth
Menentukan berapa banyak tingkat objek jenis yang diserialisasikan sebagai string. Nilai 1
default menserialisasikan objek dan propertinya. Nilai menserialisasikan 0
objek, tetapi bukan propertinya. Nilai serialisasi 2
objek, propertinya, dan objek apa pun dalam nilai properti.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | Int32 |
Position: | Named |
nilai default: | 1 |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SerializationMethod
Menentukan metode serialisasi untuk jenis tersebut. Metode serialisasi menentukan properti jenis mana yang diserialisasikan dan teknik yang digunakan untuk menserialisasikannya. Nilai yang dapat diterima untuk parameter ini adalah:
AllPublicProperties
. Menserialisasikan semua properti publik jenis. Anda dapat menggunakan parameter SerializationDepth untuk menentukan apakah properti anak diserialisasikan.String
. Menserialisasikan jenis sebagai string. Anda dapat menggunakan StringSerializationSource untuk menentukan properti jenis yang akan digunakan sebagai hasil serialisasi. Jika tidak, jenis diserialisasikan dengan menggunakan metode ToString objek.SpecificProperties
. Serialisasi hanya properti yang ditentukan dari jenis ini. Gunakan parameter PropertySerializationSet untuk menentukan properti jenis yang diserialisasikan. Anda juga dapat menggunakan parameter InheritPropertySerializationSet untuk menentukan apakah kumpulan properti diwariskan dan parameter SerializationDepth untuk menentukan apakah properti turunan diserialisasikan.
Di PowerShell, metode serialisasi disimpan di objek internal PSStandardMembers .
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StringSerializationSource
Menentukan nama properti jenis. Nilai properti yang ditentukan digunakan sebagai hasil serialisasi. Parameter ini hanya valid ketika nilai parameter SerializationMethod adalah String.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TargetTypeForDeserialization
Menentukan tipe objek jenis ini yang dikonversi ketika dideserialisasi.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | Type |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypeAdapter
Menentukan jenis adaptor jenis, seperti Microsoft.PowerShell.Cim.CimInstanceAdapter. Adaptor jenis memungkinkan PowerShell untuk mendapatkan anggota jenis.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | Type |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypeConverter
Menentukan pengonversi tipe untuk mengonversi nilai di antara berbagai jenis. Jika pengonversi jenis didefinisikan untuk jenis, instans pengonversi jenis digunakan untuk konversi.
Masukkan nilai System.Type yang berasal dari kelas System.ComponentModel.TypeConverter atau System.Management.Automation.PSTypeConverter.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | Type |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypeData
Menentukan array data tipe yang ditambahkan cmdlet ini ke sesi. Masukkan variabel yang berisi objek TypeData atau perintah yang mendapatkan objek TypeData , seperti Get-TypeData
perintah. Anda juga dapat menyalurkan objek TypeData ke Update-TypeData
.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | TypeData[] |
Position: | 0 |
nilai default: | None |
Diperlukan: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TypeName
Menentukan nama tipe yang akan diperluas.
Untuk jenis di namespace layanan Sistem , masukkan nama pendek. Jika tidak, nama jenis lengkap diperlukan. Kartu bebas tidak didukung.
Anda dapat menyalurkan nama jenis ke Update-TypeData
. Saat Anda menyalurkan objek ke Update-TypeData
, Update-TypeData
mendapatkan nama jenis objek dan mengetik data ke jenis objek.
Gunakan parameter ini dengan parameter MemberName, MemberType, Value, dan SecondValue untuk menambahkan atau mengubah properti atau metode jenis.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | String |
Position: | Named |
nilai default: | None |
Diperlukan: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Value
Menentukan nilai properti atau metode.
Jika Anda menambahkan AliasProperty
, , CodeProperty
ScriptProperty
, atau CodeMethod
anggota, Anda dapat menggunakan parameter SecondValue untuk menambahkan informasi tambahan.
Gunakan parameter ini dengan parameter MemberName, MemberType, Value, dan SecondValue untuk menambahkan atau mengubah properti atau metode jenis.
Parameter ini diperkenalkan di Windows PowerShell 3.0.
Jenis: | Object |
Position: | Named |
nilai default: | None |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Aliases: | wi |
Position: | Named |
nilai default: | False |
Diperlukan: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Anda dapat menyalurkan string yang berisi nilai parameter AppendPath, TypeName, atau TypeData ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk