Update-TypeData
更新会话中的扩展类型数据。
语法
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>]
说明
Update-TypeData
cmdlet 可通过将 Types.ps1xml
文件重新加载到内存中并添加新的扩展类型数据来更新会话中的扩展类型数据。
默认情况下,PowerShell 会在需要时加载扩展类型数据。 在没有参数的情况下,Update-TypeData
会重新加载已在会话中加载的所有 Types.ps1xml
文件(包括已添加的任何类型文件)。 可以使用 Update-TypeData
的参数添加新的类型文件,并添加和替换扩展类型数据。
Update-TypeData
cmdlet 可用于预加载所有类型数据。 当你要开发类型并且想要加载这些新类型用于测试目的时,此功能尤其有用。
从 Windows PowerShell 3.0 开始,可以使用 Update-TypeData
添加并替换会话中的扩展类型数据,而无需使用 Types.ps1xml
文件。 仅将动态(即无需文件)添加的类型数据添加到当前会话中。 若要将类型数据添加到所有会话中,请将 Update-TypeData
命令添加到 PowerShell 配置文件中。 有关详细信息,请参阅 about_Profiles。
此外,从 Windows PowerShell 3.0 开始,可以使用 Get-TypeData
cmdlet 来获取当前会话中的扩展类型,使用 Remove-TypeData
cmdlet 来删除当前会话中的扩展类型。
在属性中出现的异常或在将属性添加到 Update-TypeData
命令的过程中出现的异常不会报告错误。 这是为了取消显示在格式设置和输出期间在许多常见类型中发生的异常。 如果你要获得 .NET 属性,可以通过改用方法语法来处理取消显示异常问题,如下面的示例所示:
"hello".get_Length()
请注意,方法语法仅可用于 .NET 属性。 通过运行 Update-TypeData
cmdlet 添加的属性不能使用方法语法。
有关 PowerShell 中的 Types.ps1xml
文件的详细信息,请参阅 about_Types.ps1xml。
示例
示例 1:更新扩展类型
Update-TypeData
此命令将更新已在会话中使用的 Types.ps1xml
文件中的扩展类型配置。
示例 2:多次更新类型
此示例演示如何在同一会话中多次更新类型文件中的类型。
第一个命令从 Types.ps1xml
文件更新扩展类型配置,首先处理 TypesA.types.ps1xml
和 TypesB.types.ps1xml
文件。
第二个命令显示如何再次更新 TypesA.types.ps1xml
,例如在文件中添加或更改类型时可以执行的操作。 由于 TypesA.types.ps1xml
已位于当前会话的类型文件列表中,因此你可以对 TypesA.types.ps1xml
文件重复前一个命令,或在没有参数的情况下运行 Update-TypeData
命令。
Update-TypeData -PrependPath TypesA.types.ps1xml, TypesB.types.ps1xml
Update-TypeData -PrependPath TypesA.types.ps1xml
示例 3:向 DateTime 对象添加脚本属性
此示例使用 Update-TypeData
将 Quarter 脚本属性添加到当前会话中的 System.DateTime 对象,例如由 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
Update-TypeData
命令使用 TypeName 参数指定 System.DateTime 类型,使用 MemberName 参数指定新属性的名称,使用 MemberType 属性指定 ScriptProperty 类型,使用 Value 参数指定用于确定季度的脚本。
Value 属性的值是一个用于计算当前年度季度的脚本。 该脚本块使用 $this
自动变量表示该对象的当前实例,并使用 In 运算符确定月份值是否显示在每个整数数组中。 有关 -in
运算符的详细信息,请参阅 about_Comparison_Operators。
第二个命令将获取当前日期的新 Quarter 属性。
示例 4:更新默认在列表中显示的类型
此示例演示如何在默认情况下(即在未指定任何属性的情况下)设置显示在列表中的类型的属性。 由于没有在 Types.ps1xml
文件中指定类型数据,因此它仅在当前会话中有效。
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
第一个命令显示命令的列表视图,该视图Get-Date
输出表示当前日期的 System.DateTime 对象。 该命令使用管道运算符 (|
) 将 DateTime 对象发送到 Format-List
cmdlet。 Format-List
由于该命令未指定要在列表中显示的属性,因此 PowerShell 显示对象的每个公共非隐藏属性。
第二个命令使用 Update-TypeData
cmdlet 设置 System.DateTime 类型的默认列表属性。 该命令使用 TypeName 参数指定类型,并使用 DefaultDisplayPropertySet 参数指定列表的默认属性。 所选属性包括在前面的示例中添加的新的 Quarter 脚本属性。
最后一个命令获取当前日期,并再次以列表格式显示它。 它仅显示命令中 Update-TypeData
定义的属性,而不是属性的完整列表。
示例 5:设置类型以宽格式显示的属性
此示例演示如何创建新的脚本属性,并将其用作将类型传递给 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
第一个命令使用 Get-Command
cmdlet 返回包含单词 File
的名称的每个命令。 它通过管道将输出传递给 cmdlet,该 cmdlet Format-Wide
显示列中命令的名称。
接下来,该示例用于Update-TypeData
定义 CommandInfo 类型的 DefaultDisplayProperty 和新脚本属性。 返回Get-Command
从该类型派生的 CommandInfo 对象和对象的输出。 新的脚本属性 FullQualifiedName 返回可执行应用程序的完整路径和 cmdlet 的完全限定名称,该名称为 cmdlet 名称加上定义它的模块前缀。 cmdlet Update-TypeData
能够定义新的脚本属性,并将其用作 同一命令中的 DefaultDisplayProperty 。
最后,输出显示类型更新后以宽格式显示的结果 Get-Command
。 它显示 cmdlet 的完全限定名称以及可执行应用程序的完整路径。
示例 6:更新管道对象的类型数据
$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
此示例演示了当通过管道将对象传递给 Update-TypeData
时,Update-TypeData
会添加对象类型的扩展类型数据。
此技术比使用 Get-Member
cmdlet 或 Get-Type
方法获取对象类型的速度更快。 但是,如果通过管道将对象集合传递给 Update-TypeData
,则它将更新第一种对象类型的类型数据,然后为该集合中的所有其他对象返回一个错误,因为已在该类型上定义成员。
第一个命令使用 Get-Module
cmdlet 获取 Microsoft.PowerShell.Utility 模块。
该命令通过管道将模块对象传递给 Update-TypeData
cmdlet,该 cmdlet 更新 System.Management.Automation.PSModuleInfo 类型的类型数据及其派生的类型,例如在命令中使用 ListAvailable 参数时返回的 ModuleInfoGrouping 类型Get-Module
。
Update-TypeData
命令会将 SupportsUpdatableHelp 脚本属性添加到所有导入的模块中。 Value 参数的值是一个脚本,如果已填充模块的 HelpInfoUri 属性,则该脚本返回 $true
;否则返回 $false
。
第二个命令通过管道将模块对象从 Get-Module
Format-Table
cmdlet 传递给该 cmdlet,该 cmdlet 显示可用模块的名称和 SupportsUpdatableHelp 属性。
参数
-AppendPath
指定可选 .ps1xml
文件的路径。 按加载内置文件后列出指定文件的顺序来加载这些文件。 还可以通过管道将 AppendPath 值传递给 Update-TypeData
。
类型: | String[] |
别名: | PSPath, Path |
Position: | 0 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultDisplayProperty
未指定任何其他属性时,指定由 Format-Wide
cmdlet 显示的类型的属性。
键入类型的标准或扩展属性的名称。 此参数的值可以是已添加到同一命令中的类型的名称。
仅当没有为 Format.ps1xml
文件中的类型定义宽视图时,此值才有效。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultDisplayPropertySet
指定类型的一个或多个属性。 未指定任何其他属性时,这些属性通过 Format-List
、Format-Table
和 Format-Custom
cmdlet 显示。
键入类型的标准或扩展属性的名称。 此参数的值可以是已添加到同一命令中的类型的名称。
仅当没有在 Format.ps1xml
文件中为该类型分别定义列表、表或自定义视图时,此值才有效。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultKeyPropertySet
指定类型的一个或多个属性。 未指定其他属性时,Group-Object
和 Sort-Object
cmdlet 会使用这些属性。
键入类型的标准或扩展属性的名称。 此参数的值可以是已添加到同一命令中的类型的名称。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Force
指示即使已为该类型指定了类型数据,该 cmdlet 也使用指定的类型数据。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InheritPropertySerializationSet
指示是否继承已进行序列化的属性集。 默认值是 $Null
。 此参数的可接受值为:
$True
。 继承属性集。$False
。 不继承属性集。$Null
。 未定义继承。
仅当 SerializationMethod 参数的值为 SpecificProperties
时,此参数才有效。 当此参数的值为 $False
时,PropertySerializationSet 参数是必需的。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | Nullable<T>[Boolean] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MemberName
指定属性或方法的名称。
将此参数与 TypeName、MemberType、Value 和 SecondValue 参数一起使用,以添加或更改某个类型的属性或方法。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MemberType
指定要添加或更改的成员类型。
将此参数与 TypeName、MemberType、Value 和 SecondValue 参数一起使用,以添加或更改某个类型的属性或方法。 此参数的可接受值为:
- AliasProperty
- CodeMethod
- CodeProperty
- Noteproperty
- ScriptMethod
- ScriptProperty
有关这些值的信息,请参阅 PSMemberTypes 枚举。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | PSMemberTypes |
接受的值: | NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PrependPath
指定可选 .ps1xml
文件的路径。 按加载内置文件前列出指定文件的顺序来加载这些文件。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PropertySerializationSet
指定已进行序列化的属性的名称。 当 SerializationMethod 参数的值为 SpecificProperties 时,使用此参数。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SecondValue
指定 AliasProperty、ScriptProperty、CodeProperty 或 CodeMethod 成员的其他值。
将此参数与 TypeName、MemberType、Value 和 SecondValue 参数一起使用,以添加或更改某个类型的属性或方法。
当 MemberType 参数的值为 AliasProperty
时,SecondValue 参数的值必须是一种数据类型。 PowerShell 会将别名属性的值转换(即强制转换)为指定的类型。 例如,如果添加用于为字符串属性提供备用名称的别名属性,还可以指定 System.Int32 的 SecondValue 以将别名字符串值转换为整数。
当 MemberType 参数的值为 ScriptProperty
时,可以使用 SecondValue 参数来指定其他脚本块。 Value 参数的值中的脚本块将获取变量的值。 SecondValue 参数的值中的脚本块将设置变量的值。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | Object |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SerializationDepth
指定将多少个级别的类型对象序列化为字符串。 默认值 1
会将对象及其属性序列化。 值为 0
表示会将对象序列化,但不会将其属性序列化。 值为 2
表示会将对象及其属性和属性值中的任何对象序列化。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | Int32 |
Position: | Named |
默认值: | 1 |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SerializationMethod
为类型指定序列化方法。 序列化方法将确定序列化类型的哪些属性以及用于对其进行序列化的方法。 此参数的可接受值为:
AllPublicProperties
。 序列化类型的所有公共属性。 可以使用 SerializationDepth 参数确定是否序列化子属性。String
。 将类型序列化为一个字符串。 可以使用 StringSerializationSource 指定要用作序列化结果的类型的属性。 否则,将通过使用对象的 ToString 方法序列化该类型。SpecificProperties
。 仅将此类型的指定属性序列化。 可以使用 PropertySerializationSet 参数指定已进行序列化的类型的属性。 还可以使用 InheritPropertySerializationSet 参数确定是否继承属性集,并使用 SerializationDepth 参数确定是否序列化子属性。
在 PowerShell 中,序列化方法存储在 PSStandardMembers 内部对象中。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-StringSerializationSource
指定类型的属性的名称。 指定属性的值将用作序列化结果。 仅当 SerializationMethod 参数的值为 String 时,此参数才有效。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TargetTypeForDeserialization
指定此类型的对象被反序列化时将转换为哪种类型。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | Type |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TypeAdapter
指定 Microsoft.PowerShell.Cim.CimInstanceAdapter 之类的类型适配器的类型。 类型适配器使 PowerShell 能够获取类型的成员。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | Type |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TypeConverter
指定可在不同类型之间转换值的类型转换器。 如果为某个类型定义一个类型转换器,则该类型转换器的实例将用于转换过程。
输入派生自 System.ComponentModel.TypeConverter 或 System.Management.Automation.PSTypeConverter 类的 System.Type 值。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | Type |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TypeData
指定此 cmdlet 添加到会话的类型数据的数组。 输入包含 TypeData 对象的变量,或者输入用来获取 TypeData 对象的命令,如 Get-TypeData
命令。 还可以通过管道将 TypeData 对象传递给 Update-TypeData
。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | TypeData[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-TypeName
指定要扩展的类型的名称。
对于 System 命名空间中的类型,请输入短名称。 否则,必须输入完整类型名称。 不支持通配符。
可以通过管道将类型名称传递给 Update-TypeData
。 通过管道将对象传递给 Update-TypeData
时,Update-TypeData
将获取该对象的类型名称和对象类型的类型数据。
将此参数与 MemberName、MemberType、Value 和 SecondValue 参数一起使用,以添加或更改某个类型的属性或方法。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Value
指定属性或方法的值。
如果添加 AliasProperty
、CodeProperty
、ScriptProperty
或 CodeMethod
成员,则可以使用 SecondValue 参数添加其他信息。
将此参数与 MemberName、MemberType、Value 和 SecondValue 参数一起使用,以添加或更改某个类型的属性或方法。
已在 Windows PowerShell 3.0 中引入了此参数。
类型: | Object |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将包含 AppendPath、TypeName 或 TypeData 参数的值的字符串传递给此 cmdlet。
输出
None
此 cmdlet 不返回任何输出。