다음을 통해 공유


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>]

Description

cmdlet은 Update-TypeData 파일을 메모리로 다시 로드하고 새 확장 형식 데이터를 추가하여 세션의 Types.ps1xml 확장 형식 데이터를 업데이트합니다.

기본적으로 PowerShell은 필요에 따라 확장 형식 데이터를 로드합니다. 매개 변수 Update-TypeData 가 없으면 추가한 모든 형식 파일을 포함하여 세션에 로드된 모든 Types.ps1xml 파일을 다시 로드합니다. 매개 변수 Update-TypeData 를 사용하여 새 형식 파일을 추가하고 확장 형식 데이터를 추가하고 바꿀 수 있습니다.

cmdlet을 Update-TypeData 사용하여 모든 형식 데이터를 미리 로드할 수 있습니다. 이 기능은 형식을 개발하고 테스트 목적으로 새 형식을 로드하려는 경우에 특히 유용합니다.

Windows PowerShell 3.0부터 파일을 사용하지 Types.ps1xml 않고 세션의 확장 형식 데이터를 추가하고 바꾸는 데 사용할 Update-TypeData 수 있습니다. 파일 없이 동적으로 추가된 유형 데이터는 현재 세션에만 추가됩니다. 모든 세션에 형식 데이터를 추가하려면 PowerShell 프로필에 명령을 추가 Update-TypeData 합니다. 자세한 내용은 about_Profiles를 참조하세요.

또한 Windows PowerShell 3.0부터 cmdlet을 사용하여 현재 세션에서 확장 형식을 가져와서 cmdlet을 사용하여 Get-TypeData 현재 세션에서 Remove-TypeData 확장 형식을 삭제할 수 있습니다.

속성에서 발생하거나 명령에 속성을 추가하여 발생하는 예외는 Update-TypeData 오류를 보고하지 않습니다. 서식을 지정하고 출력하는 동안 많은 일반 형식에서 발생하는 예외를 표시하지 않습니다. .NET 속성을 가져오는 경우 다음 예제와 같이 메서드 구문을 대신 사용하여 예외 제거를 해결할 수 있습니다.

"hello".get_Length()

메서드 구문은 .NET 속성에서만 사용할 수 있습니다. cmdlet을 실행하여 추가된 속성은 Update-TypeData 메서드 구문을 사용할 수 없습니다.

PowerShell의 Types.ps1xml 파일에 대한 자세한 내용은 about_Types.ps1xml을 참조 하세요.

예제

예제 1: 확장 형식 업데이트

Update-TypeData

이 명령은 세션에서 이미 사용된 파일에서 Types.ps1xml 확장 형식 구성을 업데이트합니다.

예제 2: 형식을 여러 번 업데이트

이 예제에서는 동일한 세션에서 형식 파일의 형식을 여러 번 업데이트하는 방법을 보여줍니다.

첫 번째 명령은 파일에서 확장 형식 구성을 Types.ps1xml 업데이트하고 먼저 파일과 TypesB.types.ps1xml 파일을 처리 TypesA.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 개체에 스크립트 속성 추가

이 예제에서는 cmdlet에서 반환된 것과 같이 현재 세션의 System.DateTime 개체에 Quarter 스크립트 속성을 추가하는 데 사용합니다 Update-TypeData 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
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

첫 번째 명령은 현재 날짜를 나타내는 System.DateTime 개체를 출력하는 명령의 목록 보기를 Get-Date 보여 줍니다. 이 명령은 파이프라인 연산자(|)를 사용하여 DateTime 개체를 cmdlet으로 Format-List 보냅니다. Format-List 이 명령은 목록에 표시할 속성을 지정하지 않으므로 PowerShell은 개체에 대해 숨겨지지 않은 모든 공용 속성을 표시합니다.

두 번째 명령은 cmdlet을 Update-TypeData 사용하여 System.DateTime 형식의 기본 목록 속성을 설정합니다. 이 명령은 TypeName 매개 변수를 사용하여 형식을 지정하고 DefaultDisplayPropertySet 매개 변수를 사용하여 목록의 기본 속성을 지정합니다. 선택한 속성에는 이전 예제에서 추가된 새 Quarter 스크립트 속성이 포함됩니다.

마지막 명령은 현재 날짜를 가져오고 목록 형식으로 다시 표시합니다. 전체 속성 목록 대신 명령에 정의된 Update-TypeData 속성만 표시합니다.

예제 5: 형식이 와이드 형식으로 표시되는 속성 설정

이 예제에서는 새 스크립트 속성을 만들고 형식이 cmdlet에 전달 Format-Wide 될 때 표시되는 기본 속성으로 사용하는 방법을 보여 줍니다.

Get-Command *File* | Format-Wide

Set-AppPackageProvisionedDataFile                          Set-ProvisionedAppPackageDataFile
Set-ProvisionedAppXDataFile                                Write-FileSystemCache
Write-FileSystemCache                                      Block-FileShareAccess
Clear-FileStorageTier                                      Close-SmbOpenFile
Debug-FileShare                                            Disable-NetIPHttpsProfile
Enable-NetIPHttpsProfile                                   Get-FileHash
Get-FileIntegrity                                          Get-FileShare
Get-FileShareAccessControlEntry                            Get-FileStorageTier
Get-NetConnectionProfile                                   Get-NetFirewallHyperVProfile
Get-NetFirewallProfile                                     Get-SmbOpenFile
Get-StorageFileServer                                      Get-SupportedFileSystems
Grant-FileShareAccess                                      Import-PowerShellDataFile
New-FileShare                                              New-NetFirewallHyperVProfile
New-ScriptFileInfo                                         New-StorageFileServer
New-TemporaryFile                                          Publish-BCFileContent
Remove-FileShare                                           Remove-NetFirewallHyperVProfile
Remove-StorageFileServer                                   Repair-FileIntegrity
Revoke-FileShareAccess                                     Set-FileIntegrity
Set-FileShare                                              Set-FileStorageTier
Set-NetConnectionProfile                                   Set-NetFirewallHyperVProfile
Set-NetFirewallProfile                                     Set-StorageBusProfile
Set-StorageFileServer                                      Test-ScriptFileInfo
Unblock-FileShareAccess                                    Update-ScriptFileInfo
Add-BitsFile                                               Get-AIPFileStatus
Get-AppLockerFileInformation                               New-FileCatalog
New-PSRoleCapabilityFile                                   New-PSSessionConfigurationFile
Out-File                                                   Set-AIPFileClassification
Set-AIPFileLabel                                           Set-AppXProvisionedDataFile
Set-UevTemplateProfile                                     Test-FileCatalog
Test-PSSessionConfigurationFile                            Unblock-File
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                      Storage\Block-FileShareAccess
Storage\Clear-FileStorageTier                              SmbShare\Close-SmbOpenFile
Storage\Debug-FileShare                                    NetworkTransition\Disable-NetIPHttpsProfile
NetworkTransition\Enable-NetIPHttpsProfile                 Microsoft.PowerShell.Utility\Get-FileHash
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                              Microsoft.PowerShell.Utility\Import-PowerShellDataFile
Storage\New-FileShare                                      NetSecurity\New-NetFirewallHyperVProfile
PowerShellGet\New-ScriptFileInfo                           Storage\New-StorageFileServer
Microsoft.PowerShell.Utility\New-TemporaryFile             BranchCache\Publish-BCFileContent
Storage\Remove-FileShare                                   NetSecurity\Remove-NetFirewallHyperVProfile
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
Storage\Unblock-FileShareAccess                            PowerShellGet\Update-ScriptFileInfo
BitsTransfer\Add-BitsFile                                  AzureInformationProtection\Get-AIPFileStatus
AppLocker\Get-AppLockerFileInformation                     Microsoft.PowerShell.Security\New-FileCatalog
Microsoft.PowerShell.Core\New-PSRoleCapabilityFile         Microsoft.PowerShell.Core\New-PSSessionConfigurationFile
Microsoft.PowerShell.Utility\Out-File                      AzureInformationProtection\Set-AIPFileClassification
AzureInformationProtection\Set-AIPFileLabel                Dism\Set-AppXProvisionedDataFile
UEV\Set-UevTemplateProfile                                 Microsoft.PowerShell.Security\Test-FileCatalog
Microsoft.PowerShell.Core\Test-PSSessionConfigurationFile  Microsoft.PowerShell.Utility\Unblock-File
C:\WINDOWS\system32\FileDialogBroker.exe                   C:\WINDOWS\system32\FileHistory.exe
C:\WINDOWS\system32\forfiles.exe                           C:\WINDOWS\system32\openfiles.exe

첫 번째 명령은 cmdlet을 Get-Command 사용하여 단어가 File포함된 이름을 가진 모든 명령을 반환합니다. 출력을 cmdlet으로 Format-Wide 파이프하여 열에 있는 명령의 이름을 표시합니다.

다음으로, 이 예제에서는 CommandInfo 형식에 대한 DefaultDisplayProperty 및 새 스크립트 속성을 모두 정의하는 데 사용합니다Update-TypeData. 해당 형식에서 파생된 CommandInfo 개체 및 개체를 반환하는 출력 Get-Command 입니다. 새 스크립트 속성인 FullyQualifiedName은 실행 가능한 애플리케이션에 대한 전체 경로와 cmdlet의 정규화된 이름을 반환하며, 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.Operation.Validation                  True
Microsoft.PowerShell.Archive                               True
Microsoft.PowerShell.Diagnostics                           True
Microsoft.PowerShell.Host                                  True
Microsoft.PowerShell.LocalAccounts                         True
Microsoft.PowerShell.Management                            True
Microsoft.PowerShell.ODataUtils                            True
Microsoft.PowerShell.Security                              True
Microsoft.PowerShell.Utility                               True

이 예제에서는 개체를 파이프할 때 개체 형식에 대한 확장 형식 데이터를 추가하는 방법을 Update-TypeDataUpdate-TypeData 보여 줍니다.

이 기술은 cmdlet 또는 메서드를 Get-Member 사용하여 개체 형식을 Get-Type 가져오는 것보다 빠릅니다. 그러나 개체 컬렉션을 파이프하는 Update-TypeData경우 첫 번째 개체 형식의 형식 데이터를 업데이트한 다음 멤버가 형식에 이미 정의되어 있으므로 컬렉션의 다른 모든 개체에 대한 오류를 반환합니다.

첫 번째 명령은 cmdlet을 Get-Module 사용하여 Microsoft.PowerShell.Utility 모듈을 가져옵니다. 이 명령은 명령에서 ListAvailable 매개 변수를 사용할 때 반환되는 ModuleInfoGrouping 형식과 같이 System.Management.Automation.PSModuleInfo 형식의 형식 데이터와 파생된 형식 Get-Module 을 업데이트하는 cmdlet에 모듈 개체 Update-TypeData 파이프합니다.

Update-TypeData 명령은 가져온 모든 모듈에 SupportsUpdatableHelp 스크립트 속성을 추가합니다. Value 매개 변수의 값은 모듈의 HelpInfoUri 속성이 채워져 있고 그렇지 않으면 반환 $true 하는 $false 스크립트입니다.

두 번째 명령은 사용 가능한 모듈의 NameSupportsUpdatableHelp 속성을 표시하는 cmdlet으로 모듈 개체 Get-Module Format-Table 를 파이프합니다.

매개 변수

-AppendPath

선택적 .ps1xml 파일의 경로를 지정합니다. 지정한 파일은 기본 제공 파일이 로드된 후 나열된 순서대로 로드됩니다. AppendPath 값을 .에 파이프할 Update-TypeData수도 있습니다.

형식:String[]
별칭:PSPath, Path
Position:0
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultDisplayProperty

다른 속성이 지정되지 않은 경우 cmdlet에서 표시하는 형식의 Format-Wide 속성을 지정합니다.

형식의 표준 또는 확장 속성 이름을 입력합니다. 이 매개 변수의 값은 동일한 명령에 추가되는 형식의 이름이 될 수 있습니다.

이 값은 파일의 형식 Format.ps1xml 에 대해 정의된 넓은 보기가 없는 경우에만 적용됩니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultDisplayPropertySet

형식의 속성을 하나 이상 지정합니다. 이러한 속성은 다른 속성이 Format-List지정되지 않은 경우 , Format-TableFormat-Custom cmdlet에 의해 표시됩니다.

형식의 표준 또는 확장 속성 이름을 입력합니다. 이 매개 변수의 값은 동일한 명령에 추가되는 형식의 이름이 될 수 있습니다.

이 값은 파일의 형식 Format.ps1xml 에 대해 각각 정의된 목록, 테이블 또는 사용자 지정 뷰가 없는 경우에만 적용됩니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultKeyPropertySet

형식의 속성을 하나 이상 지정합니다. 이러한 속성은 다른 속성이 Group-Object 지정되지 않은 경우 및 Sort-Object cmdlet에서 사용됩니다.

형식의 표준 또는 확장 속성 이름을 입력합니다. 이 매개 변수의 값은 동일한 명령에 추가되는 형식의 이름이 될 수 있습니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Force

해당 형식에 대해 형식 데이터가 이미 지정된 경우에도 cmdlet에서 지정된 형식 데이터를 사용한다는 것을 나타냅니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InheritPropertySerializationSet

serialize되는 속성 집합이 상속되는지 여부를 나타냅니다. 기본값은 $Null입니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • $True. 속성 집합이 상속됩니다.
  • $False. 속성 집합은 상속되지 않습니다.
  • $Null. 상속이 정의되지 않았습니다.

이 매개 변수는 SerializationMethod 매개 변수의 값이 있는 경우에만 유효합니다SpecificProperties. 이 매개 변수의 값이면 $FalsePropertySerializationSet 매개 변수가 필요합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:Nullable<T>[Boolean]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-MemberName

속성 또는 메서드의 이름을 지정합니다.

TypeName, MemberType, Value 및 SecondValue 매개 변수와 함께 이 매개 변수를 사용하여 형식의 속성 또는 메서드를 추가하거나 변경할 수 있습니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String
Position:Named
Default value: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
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PrependPath

선택적 .ps1xml 파일의 경로를 지정합니다. 지정한 파일은 기본 제공 파일이 로드되기 전에 나열된 순서대로 로드됩니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PropertySerializationSet

serialize되는 속성의 이름을 지정합니다. SerializationMethod 매개 변수의 값이 SpecificProperties인 경우 이 매개 변수를 사용합니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SecondValue

AliasProperty, ScriptProperty, CodeProperty 또는 CodeMethod 멤버에 대한 추가 값을 지정합니다.

TypeName, MemberType, Value 및 SecondValue 매개 변수와 함께 이 매개 변수를 사용하여 형식의 속성 또는 메서드를 추가하거나 변경할 수 있습니다.

MemberType 매개 변수의 값이면 AliasPropertySecondValue 매개 변수의 값은 데이터 형식이어야 합니다. PowerShell은 별칭 속성의 값을 지정된 형식으로 변환합니다(즉, 캐스트). 예를 들어 문자열 속성의 대체 이름을 제공하는 별칭 속성을 추가하는 경우 별칭 문자열 값을 정수로 변환하기 위해 System.Int32SecondValue를 지정할 수도 있습니다.

MemberType 매개 변수의 값이면 ScriptPropertySecondValue 매개 변수를 사용하여 추가 스크립트 블록을 지정할 수 있습니다. Value 매개 변수 값의 스크립트 블록은 변수의 값을 가져옵니다. SecondValue 매개 변수 값의 스크립트 블록은 변수 값을 설정합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:Object
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SerializationDepth

문자열로 serialize되는 형식 개체의 수준을 지정합니다. 기본값 1 은 개체와 해당 속성을 직렬화합니다. 값은 0 개체를 직렬화하지만 해당 속성은 직렬화하지 않습니다. 값 2 은 개체, 해당 속성 및 속성 값의 모든 개체를 serialize합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:Int32
Position:Named
Default value:1
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-SerializationMethod

형식에 대한 serialization 메서드를 지정합니다. serialization 메서드는 serialize되는 형식의 속성과 직렬화하는 데 사용되는 기술을 결정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • AllPublicProperties. 형식의 모든 public 속성을 직렬화합니다. SerializationDepth 매개 변수를 사용하여 자식 속성이 serialize되는지 여부를 확인할 수 있습니다.
  • String. 유형을 문자열로 직렬화합니다. StringSerializationSource를 사용하여 serialization 결과로 사용할 형식의 속성을 지정할 수 있습니다. 그렇지 않으면 개체의 ToString 메서드를 사용하여 형식이 serialize됩니다.
  • SpecificProperties. 이 형식의 지정된 속성만 직렬화합니다. PropertySerializationSet 매개 변수를 사용하여 serialize되는 형식의 속성을 지정합니다. InheritPropertySerializationSet 매개 변수를 사용하여 속성 집합이 상속되는지 여부와 SerializationDepth 매개 변수를 사용하여 자식 속성이 serialize되는지 여부를 확인할 수도 있습니다.

PowerShell에서 serialization 메서드는 PSStandardMembers 내부 개체에 저장됩니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-StringSerializationSource

형식의 속성 이름을 지정합니다. 지정된 속성의 값은 serialization 결과로 사용됩니다. 이 매개 변수는 SerializationMethod 매개 변수의 값이 String인 경우에만 유효합니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TargetTypeForDeserialization

역직렬화될 때 이 형식의 개체가 변환되는 형식을 지정합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:Type
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TypeAdapter

Microsoft.PowerShell.Cim.CimInstanceAdapter와 같은 형식 어댑터의 형식을 지정합니다. 형식 어댑터를 사용하면 PowerShell에서 형식의 멤버를 가져올 수 있습니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:Type
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TypeConverter

유형 간에 값을 변환할 유형 변환기를 지정합니다. 유형에 대한 유형 변환기를 정의하면 유형 변환기 인스턴스가 변환에 사용됩니다.

System.ComponentModel.TypeConverter 또는 System.Management.Automation.PSTypeConverter 클래스에서 파생된 System.Type 값을 입력합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:Type
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TypeData

이 cmdlet이 세션에 추가하는 형식 데이터의 배열을 지정합니다. TypeData 개체 또는 TypeData 개체를 가져오는 명령(예: 명령)이 포함된 변수를 Get-TypeData 입력합니다. TypeData 개체를 .에 파이프할 Update-TypeData수도 있습니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:TypeData[]
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-TypeName

확장할 형식의 이름을 지정합니다.

시스템 네임스페이스의 형식에 대해 짧은 이름을 입력합니다. 그렇지 않으면 전체 형식 이름이 필요합니다. 와일드카드는 지원되지 않습니다.

형식 이름을 .에 파이프할 Update-TypeData수 있습니다. 개체를 파이프할 Update-TypeDataUpdate-TypeData 때 개체의 형식 이름과 형식 데이터를 개체 형식으로 가져옵니다.

MemberName, MemberType, Value 및 SecondValue 매개 변수와 함께 이 매개 변수를 사용하여 형식의 속성 또는 메서드를 추가하거나 변경할 수 있습니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Value

속성 또는 메서드의 값을 지정합니다.

, CodeProperty또는 CodeMethod ScriptProperty멤버를 AliasProperty추가하는 경우 SecondValue 매개 변수를 사용하여 추가 정보를 추가할 수 있습니다.

MemberName, MemberType, Value 및 SecondValue 매개 변수와 함께 이 매개 변수를 사용하여 형식의 속성 또는 메서드를 추가하거나 변경할 수 있습니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

형식:Object
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

AppendPath, TypeName 또는 TypeData 매개 변수의 값이 포함된 문자열을 이 cmdlet으로 파이프할 수 있습니다.

출력

None

이 cmdlet은 출력을 반환하지 않습니다.