2014-07-07 2 views
0

아래 명령은 올바른 정보를 화면에 출력하지만 csv 파일로 내보낼 때 화면에 표시된 것과 비슷하지 않은 것처럼 보입니다. 다른 cmdlet을 사용하여 내보낼 수 있었지만 Get-DistributionGroup이 export.csv와 함께 사용할 때 데이터가 손상된 것으로 보입니다.Powershell - CSV로 내보내기 할 DistributionGroup 가져 오기

Outputting to screen works great! 
Get-DistributionGroup | Where {$_.emailaddresses -like "*@adomain.com*"} | FT Name,Alias,EmailAddresses 

Exporting to csv doesnt work correctly 
Get-DistributionGroup | Where {$_.emailaddresses -like "*@adomain.com*"} | FT Name,Alias,EmailAddresses | Export-csv C:/thisis.csv 

답변

1

대신 Format-Table (별칭 : ft) 당신은 Select-Object를 사용해야합니다. Export-Csv은 명령을 형식화하지 않고 객체를 입력으로 간주합니다.

Format-Table은 정의에 따라 개체를 출력물에서 잘 보이는 것으로 변환하지만 원래 개체는 프로세스의 일부로 느슨하게 처리됩니다.

Select-Object은 속성 집합이 하위 인 개체를 만들 수 있으므로 Export-Csv과 같은 cmdlet은 원본 원본의 데이터를 계속 사용할 수 있습니다.

편집

것은 내가 원래 놓친 : 당신이 모음 (EmailAddresses) 인 속성을 내보내려고. 컬렉션을 먼저 '평평하게'하지 않으면 작동하지 않습니다.

Get-DistributionGroup | Where {$_.emailaddresses -like "*@adomain.com*"} | select Name,Alias, @{ 
    Name = 'EmailAddresses' 
    Expression = { $_.EmailAddresses -join '|' } 
} 
+0

Select-Object를 시도했는데 csv 출력이 비어 있습니다. 즉. Get - DistributionGroup | 어디에서 {$ _. emailaddresses-like "*@adomain.com*"} | 개체 이름, 별칭, EmailAddresses 선택 | Export-csv C : /thisis.csv – user3175140

+0

필터에 오타가 있습니다 ('*'가 누락되었습니다). 빈 결과를 줄 수 있습니다. 예 ;;) – BartekB

0

감사합니다. 고맙습니다.

BartekB의 답변

Get-DistributionGroup | Where {$ .emailaddresses-like "*@adomain.com*"} | 이름, 별칭, @ { Name = 'EmailAddresses' Expression = {$ .EmailAddresses -join '|' } }