Поиск по сайту:

Update-TypeData (Microsoft.PowerShell.Utility)


Update-TypeData

Модуль:
Microsoft.PowerShell.Utility

Обновляет данные расширенного типа в сеансе.

Синтаксис

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 обновляет данные расширенного типа в сеансе, перезагружая файлы Types.ps1xml в память и добавляя новые данные расширенного типа.

По умолчанию PowerShell загружает данные расширенного типа по мере необходимости. Без параметров Update-TypeData перезагружает все файлы Types.ps1xml, которые он загрузил в сеансе, включая любые файлы типов, которые вы добавили. Вы можете использовать параметры Update-TypeData для добавления файлов нового типа, а также добавления и замены данных расширенного типа.

Командлет Update-TypeData можно использовать для предварительной загрузки всех типов данных. Эта функция особенно полезна, когда вы разрабатываете типы и хотите загрузить эти новые типы для целей тестирования.

Начиная с Windows PowerShell 3.0, вы можете использовать Update-TypeData для добавления и замены данных расширенного типа в сеансе без использования файла Types.ps1xml. Типовые данные, добавляемые динамически, то есть без файла, добавляются только в текущий сеанс. Чтобы добавить данные типа во все сеансы, добавьте команду Update-TypeData в свой профиль PowerShell. Дополнительные сведения см. в разделе about_Profiles.

Кроме того, начиная с Windows PowerShell 3.0, вы можете использовать командлет Get-TypeData для получения расширенных типов в текущем сеансе и командлет Remove-TypeData для удаления расширенных типов из текущая сессия.

Исключения, возникающие в свойствах или при добавлении свойств в команду Update-TypeData, не сообщают об ошибках. Это сделано для подавления исключений, которые могут возникнуть во многих распространенных типах во время форматирования и вывода. Если вы получаете свойства .NET, вы можете обойти подавление исключений, используя вместо этого синтаксис метода, как показано в следующем примере:

"hello".get_Length()

Обратите внимание, что синтаксис метода можно использовать только со свойствами .NET. Свойства, добавляемые с помощью командлета Update-TypeData, не могут использовать синтаксис метода.

Дополнительные сведения о файлах Types.ps1xml в PowerShell см. в разделе about_Types.ps1xml.

Примеры

Пример 1. Обновление расширенных типов

Update-TypeData

Эта команда обновляет конфигурацию расширенного типа из файлов Types.ps1xml, которые уже использовались в сеансе.

Пример 2. Обновление типов несколько раз

В этом примере показано, как обновить типы в файле типов несколько раз в одном сеансе.

Первая команда обновляет конфигурацию расширенного типа из файлов Types.ps1xml, обрабатывая файлы TypesA.types.ps1xml и TypesB.types.ps1xml. первый.

Вторая команда показывает, как снова обновить TypesA.types.ps1xml, например, если вы добавили или изменили тип в файле. Вы можете либо повторить предыдущую команду для файла TypesA.types.ps1xml, либо запустить команду Update-TypeData без параметров, поскольку TypesA.types.ps1xml уже находится в списке типов файлов для текущего сеанса.

Update-TypeData -PrependPath TypesA.types.ps1xml, TypesB.types.ps1xml
Update-TypeData -PrependPath TypesA.types.ps1xml

Пример 3. Добавление свойства скрипта к объектам DateTime

В этом примере используется Update-TypeData для добавления свойства сценария Quarter к объектам System.DateTime в текущем сеансе, например тем, которые возвращаются функцией System.DateTime.Get-Date командлет.

$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. Поскольку команда Format-List не указывает свойства, отображаемые в списке, PowerShell отображает все общедоступные, нескрытые свойства объекта.

Вторая команда использует командлет Update-TypeData для установки свойств списка по умолчанию для типа System.DateTime. Команда использует параметр TypeName для указания типа и параметр DefaultDisplayPropertySet для указания свойств по умолчанию для списка. Выбранные свойства включают новое свойство сценария Квартал, добавленное в предыдущем примере.

Последняя команда получает текущую дату и снова отображает ее в формате списка. Он отображает только свойства, определенные в команде Update-TypeData, а не полный список свойств.

Пример 5. Установка свойства, которое тип отображает в широком формате.

В этом примере показано, как создать новое свойство скрипта и использовать его в качестве свойства по умолчанию, отображаемого при передаче типа в командлет Format-Wide.

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 для возврата каждой команды, имя которой содержит слово File. Он передает выходные данные командлету Format-Wide, который отображает имена команд в столбцах.

Далее в примере используется Update-TypeData для определения как DefaultDisplayProperty, так и нового свойства скрипта для типа CommandInfo. Выходные данные Get-Command возвращают объекты CommandInfo и объекты, производные от этого типа. Новое свойство сценария, FullyQualifiedName, возвращает полный путь к исполняемым приложениям и полное имя командлета, в котором перед именем командлета указывается определяющий его модуль. Командлет Update-TypeData может определить новое свойство скрипта и использовать его как DefaultDisplayProperty в той же команде.

Наконец, выходные данные показывают результаты Get-Command, отображаемые в широком формате после обновления типа. Он показывает полное имя командлета и полный путь к исполняемым приложениям.

Пример 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 или метода Get-Type для получения типа объекта. Однако если вы передаете коллекцию объектов в Update-TypeData, он обновляет данные типа первого типа объекта, а затем возвращает ошибку для всех остальных объектов в коллекции, поскольку элемент уже определен в тип.

Первая команда использует командлет Get-Module для получения модуля Microsoft.PowerShell.Utility. Команда передает объект модуля командлету Update-TypeData, который обновляет данные типа для типа System.Management.Automation.PSModuleInfo и производных от него типов, например как тип ModuleInfoGrouping, который Get-Module возвращает при использовании параметра ListAvailable в команде.

Команды Update-TypeData добавляют свойство сценария SupportsUpdatableHelp ко всем импортированным модулям. Значением параметра Value является скрипт, который возвращает $true, если свойство HelpInfoUri модуля заполнено и $false иначе.

Вторая команда передает объекты модуля из Get-Module в командлет Format-Table, который отображает Name и SupportsUpdatableHelp . свойства доступных модулей.

Параметры

-AppendPath

Указывает путь к дополнительным файлам .ps1xml. Указанные файлы загружаются в том порядке, в котором они перечислены после загрузки встроенных файлов. Вы также можете передать значение AppendPath в Update-TypeData.

Тип :

String[]

Псевдонимы:

PSPath, Path

Позиция:

0

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип :

SwitchParameter

Псевдонимы:

cf

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-DefaultDisplayProperty

Указывает свойство типа, отображаемого командлетом Format-Wide, когда другие свойства не указаны.

Введите имя стандартного или расширенного свойства типа. Значением этого параметра может быть имя типа, добавляемого в той же команде.

Это значение действует только в том случае, если для типа в файле Format.ps1xml не определены широкие представления.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

String

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-DefaultDisplayPropertySet

Указывает одно или несколько свойств типа. Эти свойства отображаются с помощью командлетов Format-List, Format-Table и Format-Custom, если другие свойства не указаны.

Введите имена стандартных или расширенных свойств типа. Значением этого параметра могут быть имена типов, добавляемых в той же команде.

Это значение действует только в том случае, если для типа в файле Format.ps1xml нет списка, таблицы или настраиваемых представлений соответственно.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

String[]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-DefaultKeyPropertySet

Указывает одно или несколько свойств типа. Эти свойства используются командлетами Group-Object и Sort-Object, когда другие свойства не указаны.

Введите имена стандартных или расширенных свойств типа. Значением этого параметра могут быть имена типов, добавляемых в той же команде.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

String[]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Force

Указывает, что командлет использует данные указанного типа, даже если для этого типа уже были указаны данные типа.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-InheritPropertySerializationSet

Указывает, наследуется ли набор сериализуемых свойств. Значение по умолчанию — $Null. Допустимые значения этого параметра:

  • $True. Набор свойств наследуется.
  • $False. Набор свойств не наследуется.
  • $Null. Наследование не определено.

Этот параметр действителен только в том случае, если значение параметра SerializationMethod равно SpecificProperties. Если значение этого параметра равно $False, параметр PropertySerializationSet является обязательным.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

Nullable[Boolean]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-MemberName

Указывает имя свойства или метода.

Используйте этот параметр с параметрами TypeName, MemberType, Value и SecondValue, чтобы добавить или изменить свойство или метод тип.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

String

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-MemberType

Указывает тип элемента, который необходимо добавить или изменить.

Используйте этот параметр с параметрами TypeName, MemberType, Value и SecondValue, чтобы добавить или изменить свойство или метод тип. Допустимые значения этого параметра:

  • AliasProperty
  • CodeMethod
  • CodeProperty
  • Примечаниесвойство
  • ScriptMethod
  • ScriptProperty

Сведения об этих значениях см. в разделе Перечисление PSMemberTypes.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

PSMemberTypes

Принятые значения:

NoteProperty, AliasProperty, ScriptProperty, CodeProperty, ScriptMethod, CodeMethod

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-PrependPath

Указывает путь к необязательным файлам .ps1xml. Указанные файлы загружаются в том порядке, в котором они перечислены перед загрузкой встроенных файлов.

Тип :

String[]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-PropertySerializationSet

Указывает имена сериализуемых свойств. Используйте этот параметр, если значение параметра SerializationMethod равно SpecificProperties.

Тип :

String[]

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-SecondValue

Указывает дополнительные значения для членов AliasProperty, ScriptProperty, CodeProperty или CodeMethod.

Используйте этот параметр с параметрами TypeName, MemberType, Value и SecondValue, чтобы добавить или изменить свойство или метод. типа.

Если значение параметра MemberType равно AliasProperty, значение параметра SecondValue должно быть типом данных. PowerShell преобразует (то есть приводит) значение свойства псевдонима к указанному типу. Например, если вы добавляете свойство-псевдоним, предоставляющее альтернативное имя для строкового свойства, вы также можете указать SecondValue для System.Int32, чтобы преобразовать строковое значение с псевдонимом в целое число.

Если значение параметра MemberType равно ScriptProperty, вы можете использовать параметр SecondValue, чтобы указать дополнительный блок скрипта. Блок скрипта в значении параметра Value получает значение переменной. Блок скрипта в значении параметра SecondValue устанавливает значение переменной.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

Объект

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-SerializationDepth

Указывает, сколько уровней объектов типа сериализуются как строки. Значение по умолчанию 1 сериализует объект и его свойства. Значение 0 сериализует объект, но не его свойства. Значение 2 сериализует объект, его свойства и любые объекты в значениях свойств.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

Int32

Позиция:

Именованный

Значение по умолчанию:

1

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-SerializationMethod

Указывает метод сериализации для типа. Метод сериализации определяет, какие свойства типа сериализуются, а также метод, используемый для их сериализации. Допустимые значения этого параметра:

  • AllPublicProperties. Сериализуйте все общедоступные свойства типа. Вы можете использовать параметр SerializationDepth, чтобы определить, сериализуются ли дочерние свойства.
  • Строка. Сериализуйте тип как строку. Вы можете использовать StringSerializationSource, чтобы указать свойство типа, который будет использоваться в качестве результата сериализации. В противном случае тип сериализуется с помощью метода ToString объекта.
  • Специфические свойства. Сериализуйте только указанные свойства этого типа. Используйте параметр PropertySerializationSet, чтобы указать сериализуемые свойства типа. Вы также можете использовать параметр InheritPropertySerializationSet, чтобы определить, наследуется ли набор свойств, и параметр SerializationDepth, чтобы определить, сериализуются ли дочерние свойства.

В PowerShell методы сериализации хранятся во внутренних объектах PSStandardMembers.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

String

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-StringSerializationSource

Указывает имя свойства типа. Значение указанного свойства используется в качестве результата сериализации. Этот параметр действителен только в том случае, если значение параметра SerializationMethod равно String.

Тип :

String

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-TargetTypeForDeserialization

Указывает тип, в который преобразуются объекты этого типа при их десериализации.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

Тип

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-TypeAdapter

Указывает тип адаптера типа, например Microsoft.PowerShell.Cim.CimInstanceAdapter. Адаптер типа позволяет PowerShell получать члены типа.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

Тип

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-TypeConverter

Задает преобразователь типов для преобразования значений между различными типами. Если для типа определен преобразователь типов, для преобразования используется экземпляр преобразователя типов.

Введите значение System.Type, полученное из классов System.ComponentModel.TypeConverter или System.Management.Automation.PSTypeConverter.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

Тип

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-TypeData

Указывает массив данных типа, который этот командлет добавляет в сеанс. Введите переменную, содержащую объект TypeData, или команду, получающую объект TypeData, например команду Get-TypeData. Вы также можете передать объект TypeData в Update-TypeData.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

ТипДанные[]

Позиция:

0

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-TypeName

Указывает имя расширяемого типа.

Для типов в пространстве имен System введите краткое имя. В противном случае требуется полное имя типа. Подстановочные знаки не поддерживаются.

Вы можете передать имена типов в Update-TypeData. Когда вы передаете объект в Update-TypeData, Update-TypeData получает имя типа объекта и данные типа для типа объекта.

Используйте этот параметр с параметрами MemberName, MemberType, Value и SecondValue, чтобы добавить или изменить свойство или метод тип.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

String

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-Value

Указывает значение свойства или метода.

Если вы добавляете элемент AliasProperty, CodeProperty, ScriptProperty или CodeMethod, вы можете использовать SecondValue Параметр для добавления дополнительной информации.

Используйте этот параметр с параметрами MemberName, MemberType, Value и SecondValue, чтобы добавить или изменить свойство или метод тип.

Этот параметр был введен в Windows PowerShell 3.0.

Тип :

Объект

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-WhatIf

Показывает, что произойдет, если командлет запустится. Командлет не запускается.

Тип :

SwitchParameter

Псевдонимы:

wi

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

Строка

В этот командлет можно передать строку, содержащую значения параметров AppendPath, TypeName или TypeData.

Выходы

Нет

Этот командлет не возвращает никаких результатов.