2016-08-24 1 views
1

새로운 개체를 만들고 루핑하지 않고 PowerShell의 개체에 추가 멤버를 추가하는 방법을 찾고 있습니다.PSObject에 멤버/열 추가

일반적으로 스크립트를 실행하면 서버 목록이 다시 표시되며 반환하는 데이터에 대한 추가 정보를 추가하려고하지만 새 PSObject를 만들지 않고이를 수행 할 방법을 찾을 수 없습니다. 기존의 객체를 통해 반복하고 행함으로써 추가 멤버 행이 추가 (아래의 간단한 예)

$FileList = get-childitem | Select-Object Name, DirectoryName 
$FileListOBJ = @() 

foreach ($item in $FileList) 
{  
    $Temp = New-Object PSObject 
    $Temp | Add-Member NoteProperty ServerName "XServerName" 
    $Temp | Add-Member NoteProperty FileName $item.Name 
    $Temp | Add-Member NoteProperty Directory $item.DirectoryName  

    $FileListOBJ += $Temp 
} 

$FileListOBJ 

이 라인을 따라 할 수있는 방법이 있는가 ...

get-childitem | Select-Object "ServerName", Name, DirectoryName 

상기 코드를 생성 추가 회원하지만 addi를 채울 방법을 찾지 못했습니다. 내가하는 세부 사항을 가진 회원. 당신은 또한 추가 멤버를 호출하지 않고 새 개체를 만들 수 있습니다

get-childitem | Select-Object @{l="ServerName"; e={"XServerName"}}, Name, DirectoryName 

답변

0

물론, 당신은 계산 특성 (더 그들에 대한 here)를 사용할 수 있습니다

$FileList = get-childitem | Select-Object Name, DirectoryName 
$FileListOBJ = @() 
foreach ($item in $FileList) 
{  
    $FileListOBJ += [PSCustomObject]@{ServerName="ServerName";FileName=$item.Name;Directory=$item.DirectoryName} 
} 

$FileListOBJ 
+0

완벽한, 나는 그것을하는 더 쉬운 방법이 있어야한다는 것을 알았다. – Doug

1

: