Bagikan melalui


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.

$typeDataParams = @{
    TypeName   = 'System.DateTime'
    MemberType = 'ScriptProperty'
    MemberName = 'Quarter'
    Value      = {
        switch ($this.Month) {
            { $_ -in @(1, 2, 3) } { return 'Q1' }
            { $_ -in @(4, 5, 6) } { return 'Q2' }
            { $_ -in @(7, 8, 9) } { return 'Q3' }
            default               { return 'Q4' }
        }
    }
}
Update-TypeData @typeDataParams

(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.

Get-Date | Format-list

Update-TypeData -TypeName "System.DateTime" -DefaultDisplayPropertySet @(
    'DateTime'
    'DayOfYear'
    'Quarter'
)

Get-Date | Format-List

DisplayHint : DateTime
Date        : 8/7/2024 12:00:00 AM
Day         : 7
DayOfWeek   : Wednesday
DayOfYear   : 220
Hour        : 10
Kind        : Local
Millisecond : 568
Microsecond : 308
Nanosecond  : 600
Minute      : 34
Month       : 8
Second      : 43
Ticks       : 638586236835683086
TimeOfDay   : 10:34:43.5683086
Year        : 2024
DateTime    : Wednesday, August 7, 2024 10:34:43 AM
Quarter     : Q3


DateTime  : Wednesday, August 7, 2024 10:34:43 AM
DayOfYear : 220
Quarter   : Q3

Perintah pertama memperlihatkan tampilan daftar untuk Get-Date perintah, yang menghasilkan 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 menampilkan setiap properti publik yang tidak tersembunyi untuk objek tersebut.

Perintah kedua 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 terakhir mendapatkan tanggal saat ini dan menampilkannya dalam format daftar lagi. Ini hanya menampilkan properti yang ditentukan dalam Update-TypeData perintah, bukan daftar lengkap properti.

Contoh 5: Atur properti jenis yang ditampilkan dalam format lebar

Contoh ini menunjukkan cara membuat properti skrip baru dan menggunakannya sebagai properti default yang ditampilkan saat jenis diteruskan ke Format-Wide cmdlet.

Get-Command *File* | Format-Wide

Set-AppPackageProvisionedDataFile                            Set-ProvisionedAppPackageDataFile
Set-ProvisionedAppXDataFile                                  Write-FileSystemCache
Write-FileSystemCache                                        Add-PoshGitToProfile
Block-FileShareAccess                                        Clear-FileStorageTier
Close-SmbOpenFile                                            Debug-FileShare
Disable-NetIPHttpsProfile                                    Enable-NetIPHttpsProfile
Get-FileIntegrity                                            Get-FileShare
Get-FileShareAccessControlEntry                              Get-FileStorageTier
Get-NetConnectionProfile                                     Get-NetFirewallHyperVProfile
Get-NetFirewallProfile                                       Get-SmbOpenFile
Get-StorageFileServer                                        Get-SupportedFileSystems
Grant-FileShareAccess                                        New-FileShare
New-NetFirewallHyperVProfile                                 New-ScriptFileInfo
New-ScriptFileInfo                                           New-StorageFileServer
Publish-BCFileContent                                        Remove-FileShare
Remove-NetFirewallHyperVProfile                              Remove-PoshGitFromProfile
Remove-StorageFileServer                                     Repair-FileIntegrity
Revoke-FileShareAccess                                       Set-FileIntegrity
Set-FileShare                                                Set-FileStorageTier
Set-NetConnectionProfile                                     Set-NetFirewallHyperVProfile
Set-NetFirewallProfile                                       Set-StorageBusProfile
Set-StorageFileServer                                        Test-ScriptFileInfo
Test-ScriptFileInfo                                          Unblock-FileShareAccess
Update-ScriptFileInfo                                        Update-ScriptFileInfo
Add-BitsFile                                                 Get-AppLockerFileInformation
Get-FileHash                                                 Get-PSScriptFileInfo
Import-PowerShellDataFile                                    New-FileCatalog
New-PSRoleCapabilityFile                                     New-PSScriptFileInfo
New-PSSessionConfigurationFile                               New-TemporaryFile
Out-File                                                     Set-AppXProvisionedDataFile
Test-FileCatalog                                             Test-PSScriptFileInfo
Test-PSSessionConfigurationFile                              Unblock-File
Update-PSScriptFileInfo                                      FileDialogBroker.exe
FileHistory.exe                                              forfiles.exe
openfiles.exe

$typeDataParams = @{
    TypeName               = 'System.Management.Automation.CommandInfo'
    DefaultDisplayProperty = 'FullyQualifiedName'
    MemberType             = 'ScriptProperty'
    MemberName             = 'FullyQualifiedName'
    Value                  = {
        [OutputType([string])]
        param()

        # For executables, return the path to the application.
        if ($this -is [System.Management.Automation.ApplicationInfo]) {
            return $this.Path
        }

        # For commands defined outside a module, return only the name.
        if ([string]::IsNullOrEmpty($this.ModuleName)) {
            return $this.Name
        }

        # Return the fully-qualified command name "<ModuleName>\<CommandName>"
        return '{0}\{1}' -f $this.ModuleName, $this.Name
    }
}
Update-TypeData @typeDataParams

Get-Command *File* | Format-Wide

Dism\Set-AppPackageProvisionedDataFile                       Dism\Set-ProvisionedAppPackageDataFile
Dism\Set-ProvisionedAppXDataFile                             Storage\Write-FileSystemCache
VMDirectStorage\Write-FileSystemCache                        posh-git\Add-PoshGitToProfile
Storage\Block-FileShareAccess                                Storage\Clear-FileStorageTier
SmbShare\Close-SmbOpenFile                                   Storage\Debug-FileShare
NetworkTransition\Disable-NetIPHttpsProfile                  NetworkTransition\Enable-NetIPHttpsProfile
Storage\Get-FileIntegrity                                    Storage\Get-FileShare
Storage\Get-FileShareAccessControlEntry                      Storage\Get-FileStorageTier
NetConnection\Get-NetConnectionProfile                       NetSecurity\Get-NetFirewallHyperVProfile
NetSecurity\Get-NetFirewallProfile                           SmbShare\Get-SmbOpenFile
Storage\Get-StorageFileServer                                Storage\Get-SupportedFileSystems
Storage\Grant-FileShareAccess                                Storage\New-FileShare
NetSecurity\New-NetFirewallHyperVProfile                     PowerShellGet\New-ScriptFileInfo
PowerShellGet\New-ScriptFileInfo                             Storage\New-StorageFileServer
BranchCache\Publish-BCFileContent                            Storage\Remove-FileShare
NetSecurity\Remove-NetFirewallHyperVProfile                  posh-git\Remove-PoshGitFromProfile
Storage\Remove-StorageFileServer                             Storage\Repair-FileIntegrity
Storage\Revoke-FileShareAccess                               Storage\Set-FileIntegrity
Storage\Set-FileShare                                        Storage\Set-FileStorageTier
NetConnection\Set-NetConnectionProfile                       NetSecurity\Set-NetFirewallHyperVProfile
NetSecurity\Set-NetFirewallProfile                           StorageBusCache\Set-StorageBusProfile
Storage\Set-StorageFileServer                                PowerShellGet\Test-ScriptFileInfo
PowerShellGet\Test-ScriptFileInfo                            Storage\Unblock-FileShareAccess
PowerShellGet\Update-ScriptFileInfo                          PowerShellGet\Update-ScriptFileInfo
BitsTransfer\Add-BitsFile                                    AppLocker\Get-AppLockerFileInformation
Microsoft.PowerShell.Utility\Get-FileHash                    Microsoft.PowerShell.PSResourceGet\Get-PSScriptFileInfo
Microsoft.PowerShell.Utility\Import-PowerShellDataFile       Microsoft.PowerShell.Security\New-FileCatalog
Microsoft.PowerShell.Core\New-PSRoleCapabilityFile           Microsoft.PowerShell.PSResourceGet\New-PSScriptFileInfo
Microsoft.PowerShell.Core\New-PSSessionConfigurationFile     Microsoft.PowerShell.Utility\New-TemporaryFile
Microsoft.PowerShell.Utility\Out-File                        Dism\Set-AppXProvisionedDataFile
Microsoft.PowerShell.Security\Test-FileCatalog               Microsoft.PowerShell.PSResourceGet\Test-PSScriptFileInfo
Microsoft.PowerShell.Core\Test-PSSessionConfigurationFile    Microsoft.PowerShell.Utility\Unblock-File
Microsoft.PowerShell.PSResourceGet\Update-PSScriptFileInfo   C:\WINDOWS\system32\FileDialogBroker.exe
C:\WINDOWS\system32\FileHistory.exe                          C:\WINDOWS\system32\forfiles.exe
C:\WINDOWS\system32\openfiles.exe

Perintah pertama menggunakan Get-Command cmdlet untuk mengembalikan setiap perintah dengan nama yang berisi kata File. Ini menyalurkan output ke Format-Wide cmdlet, yang menunjukkan nama perintah dalam kolom.

Selanjutnya, contoh menggunakan Update-TypeData untuk menentukan properti DefaultDisplayProperty dan skrip baru untuk jenis CommandInfo . Output untuk Get-Command mengembalikan objek dan objek CommandInfo yang berasal dari jenis tersebut. Properti skrip baru, FullyQualifiedName, mengembalikan jalur lengkap ke aplikasi yang dapat dieksekusi dan nama yang sepenuhnya memenuhi syarat untuk cmdlet, yang mengawali nama cmdlet dengan modul yang mendefinisikannya. Update-TypeData Cmdlet dapat menentukan properti skrip baru dan menggunakannya sebagai DefaultDisplayProperty dalam perintah yang sama.

Terakhir, output menunjukkan hasil yang Get-Command ditampilkan dalam format lebar setelah pembaruan jenis. Ini menunjukkan nama yang sepenuhnya memenuhi syarat untuk cmdlet dan jalur lengkap ke aplikasi yang dapat dieksekusi.

Contoh 6: Memperbarui jenis data untuk objek yang disalurkan

$typeDataParams = @{
    MemberType = 'ScriptProperty'
    MemberName = 'SupportsUpdatableHelp'
    Value      = {
        [OutputType([bool])]
        param()

        return (-not [string]::IsNullOrEmpty($this.HelpInfoUri))
    }
}
Get-Module Microsoft.PowerShell.Utility | Update-TypeData @typeDataParams

Get-Module -ListAvailable -Name Microsoft.PowerShell.* |
    Format-Table Name, SupportsUpdatableHelp

Name                                      SupportsUpdatableHelp
----                                      ---------------------
Microsoft.PowerShell.Archive                               True
Microsoft.PowerShell.Diagnostics                           True
Microsoft.PowerShell.Host                                  True
Microsoft.PowerShell.Management                            True
Microsoft.PowerShell.PSResourceGet                         True
Microsoft.PowerShell.Security                              True
Microsoft.PowerShell.Utility                               True
Microsoft.PowerShell.Operation.Validation                  True
Microsoft.PowerShell.LocalAccounts                         True

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 Microsoft.PowerShell.Utility . 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 modul yang tersedia.

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[]
Alias:PSPath, Path
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Jenis:SwitchParameter
Alias:cf
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard:False

-DefaultDisplayPropertySet

Menentukan satu atau beberapa properti tipe. Properti ini ditampilkan oleh Format-Listcmdlet , , Format-Tabledan 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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:False
Terima karakter wildcard: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
Terima input alur:True
Terima karakter wildcard: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
Terima input alur:True
Terima karakter wildcard:False

-Value

Menentukan nilai properti atau metode.

Jika Anda menambahkan AliasProperty, , CodePropertyScriptProperty, 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
Terima input alur:False
Terima karakter wildcard:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Jenis:SwitchParameter
Alias:wi
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

String

Anda dapat menyalurkan string yang berisi nilai parameter AppendPath, TypeName, atau TypeData ke cmdlet ini.

Output

None

Cmdlet ini tidak mengembalikan output.