none
PowerShell에서 임의의 Column RRS feed

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “PowerShell에서 임의의 Column”에 대한 답변을 드리겠습니다.

     

    Add-Member Cmdlet을 이용해서 임의의 객체의 Member를 구성할 수 있습니다.

     

    Step 1 : Note Property

     

    일반 Text 타입의 Property를 추가를 합니다. 아래의 Script는 모든 객체에 status1 property를 생성하고  단일 값 ‘done’을 할당을 합니다.

     

    Get-Process | %{  $_ | Add-Member -membertype noteproperty -name status1 -value done; $_ } | Select-Object Name, status1

     

    Step 2 : Alias Property

     

    다른 일반 Property를 이용해서 Alias Property를 생성을 합니다. 아래의 Script CPU Property를 이용해서 CPU UtilizationAlias Property를 생성을 합니다.

     

    Get-Process | % { $_ | Add-Member -MemberType AliasProperty -Name 'CPU Utilization' -Value CPU; $_  } | Select-Object Name, 'CPU Utilization'

     

     

    Step 3 : Script Method

     

    PowerShell Script를 이용해서 함수 Member를 추가를 할 수 있습니다. 아래의 Script는 간단하게 해당 객체의 Name Property의 값을 반환을 합니다.

     

    Get-Process | % { $_ | Add-Member ScriptMethod -Name ReturnName -Value { return $this.Name} ; $_.ReturnName() }

     

     

    Step 4 : ToString

     

    아래의 Script ReadOnly Property이기 때문에 Select-Object를 이용해서 객체를 생성 후 그 객체의 Length 변수에 ToString을 이용해서 값의 타입을 변경 후 다시 변수에 저장을 합니다.

     

    Get-ChildItem 'C:\Windows' |

        Select-Object Name, Length |

            % { if ($_.Length -ne $null)

                { $_.Length = $_.Length |

                    Add-Member ScriptMethod ToString { ('{0:0.0} KB' -f ($this/1KB)) } -Force -pass }

                    $_ }  |

                         Select-Object Name, Length

     

     

    참고 자료

     

    Add-Member

    http://technet.microsoft.com/en-us/library/dd347695.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 김도남 2011년 11월 21일 월요일 오전 8:57
    2011년 11월 18일 금요일 오전 8:05
    중재자