2017-09-30 2 views
2

의 설명을 가져옵니다 내가 다음 한 스크립트를초 OU/CN

Get-ADUser -Filter {SamAccountName -like "z*"} -Properties * | select samaccountname, name, Email 
Address, @{Name="LastLogonTimeStamp";Expression={([datetime]::FromFileTime($_.LastLogonTimeStamp))}}, @{n='ParentContai 
ner';e={$_.distinguishedname -replace '^.+?,(CN|OU.+)','$1'}} | Format-Table 

RESULT EXAMPLE

enter image description here

어떻게 얻을 OU의 설명 | CN 컨테이너?

답변

1

시도 : 정규식이 전체 입력 문자열과 일치하는 것을 보장하고 전체로 관심 의 문자열로를 대체 .* 후행

$_.DistinguishedName -replace '^.+?,((CN|OU)=[^,]+).*','$1' 

참고; .*이 없으면 입력의 일부만 대체되고 일치하지 않는 원본의 부분이 따라옵니다.

이 모든 구성 요소가 있다고 가정 , 단락 지어진 (이미지가 2 OU 구성 요소 후 .을 보여줍니다 이유는 확실하지)과 CN/OU 값이 포함 된 더 , 인스턴스를 탈출하지 않았는지. 그 경기 캡처 할 필요가 없다 - - (?:...)에 조금 더 효율적으로

당신은 내부 (...) 표현식을 만들 수 있습니다.