2016-11-29 2 views
2

powershell을 처음 사용했습니다. 지금까지 좋은 경험이었습니다. 다음과 같이 cmd 파이프를 포맷하여 화면을 한 줄로 표시하고 요소는로 구분합니다. (쉽게처럼 보이도록 출력을하려면, 기본적으로요소를 한 줄로 출력하는 방법

PS C:\Users\amrgro-dennem04> get-adgroupmember -Identity "gbl-intel-l3-u" -Recursive|get-aduser -properties Mail|select-object Name 

Name 
---- 
AMRCVW-EDELSI 
AMRMOP-REITES 
amrmop-kruges 

을 :)을 Outlook으로 복사/붙여 넣기를 허용하려면

시도
AMRCVW-EDELSI;AMRMOP-REITES;amrmop-kruges 

답변

3

:

당신이 '돈 감안할 때 .Mail 속성을 사용하지 않으므로 -Properties 매개 변수가 필요하면 다음과 같이 간단히 처리 할 수 ​​있습니다.

당신이 파이프 수는 PSv5.1 이상을 사용하는 경우 (Windows에서)

(Get-ADGroupMember "gbl-intel-l3-u" -Recursive).Name -join ';' 

:

당신 만 .Name 속성에 액세스 정말 멤버 유형에 의해 필터링하지 않는 점을 감안 위의 명령을 Set-Clipboard (... | Set-Clipboard)으로 설정하면 결과 텍스트가 클립 보드에 복사됩니다.
더 낮은 PS 버전에서는 외부 clip.exe 유틸리티() 대신 파이프 할 수 있지만 항상 줄 바꿈이 추가되어 인코딩 문제가 발생할 수 있습니다.


참고 :

PSv3 +에서
  • , 당신은 단순히 콜렉션 자체.<propertyName>를 사용하여 모음의 요소의 속성 값을 추출 할 수 있습니다.

    • 단순화 예 :
      @([pscustomobject] @{ one = '1a' }, [pscustomobject] @{ one = '1b' }).one 수율 어레이 @('1a', '1b')
  • -join ';'는 단일 출력 스트링을 형성하기 위해 세퍼레이터로서 ;와 속성 값을 결과의 배열을 결합한다.

+0

'아웃 클립 보드'를 추가 할 수 있으며 outlook에 붙여 넣기 만하면됩니다. 나는 $ ofs와 quoting을 사용하는 것을 생각했지만 해결책보다 설명하기가 더 어렵다. – LotPings

+0

@LotPings : 감사합니다. 그러나 'Out-Clipboard'는 표준 cmdlet이 아닙니다. PSv5.1 + (Windows)에서는'Set-Clipboard'를 사용할 수 있습니다. 그러나 대답은 업데이트되었습니다. – mklement0

+0

오, 그 클립 보드 아이디어는 완벽합니다. 내 서버에는 PS의 최신 버전이 없습니다. 나머지 도움말은 대단히 감사합니다. – Fragtzack