0

검색하려고했지만 아무 것도 찾을 수 없었습니다. 우리가하려고하는 것이 너무 일반적이라고 생각하지 않기 때문에 놀랄 일이 아닙니다.PowerShell 다중 값 특성 채우기 및 대/소문자 변환

나는 사용자 정의 속성과 함께 필터에 따라 AD 사용자를 수집하는 스크립트를 가지고 있으며 사용자 정의 확장 스키마와 그 값을 사용합니다.

사용자에게 할당 된 SMTP의 내역이 저장되는 smtpHistory라는 속성이 있습니다. 기존 항목을 변환하는 동안 기본 SMTP 주소 (SMTP는 대문자)로 $ _. email 속성을 추가해야합니다. 소문자로

내가 지금 뭐하는 거지 것은

유사하다
$mailHistory = $_.smtpHistory 
$lowerMailHistory = $mailHistory.tolower() 
# Insert all existing addresses in lowercase to the history attribute 
Set-ADUser $_.SamAccountName -add @{ smtpHistory= $lowerMailHistory } 
      $newMail = $_.mail 

     # Append new default email address to smtpHistory 
     #Set-ADUser $_.SamAccountNAme -Add @{ smtpHistory= "SMTP:$newMail" } 

기술적으로 위의 작품을 말하는하지만 난 smtpHistory을 확인할 때 나는

smtp:[email protected] smtp:[email protected] 

처럼 한 줄에 여러 개의 값입니다 무엇을 얻을 속성 한 줄당 하나의 가치 대신에

smtp:[email protected] 
smtp:[email protected] 

나는 자전거 타기를하는 방식입니다. ough 사용자는 foreach는 ($ usersProxyAddress에서 $가) 각 사용자의 DN을 낳고을 사용하는 등

$usersProxyAddress | ForEach-Object { ... 

를 통해 내가 하나의 속성 (아마 내 잘못)에 액세스 할 수 없습니다.

아마도 이것은 내가 바라 보는 바보 같은 것이지만 문제에 대한 해결책을 찾을 수 없으며 포인터/도움이 매우 높이 평가 될 것입니다.

미리 감사드립니다.

+0

'smtpHistory' 속성 스키마는 어떻게 정의되어 있습니까? 다중 값 속성으로 올바르게 정의 되었습니까? –

+0

속성은 다중 값 옙으로 정의됩니다. 지금까지는 Google 애플리케이 션 제공 업체가 내 보낸 CSV 파일을 통해 속성이 채워지는 것처럼 쉽기 때문에 mail 속성에서 hthe 값을 수집해야합니다. – Clariollo

답변

1
try something like this 
$mailHistory = $_.smtpHistory -join ';' 
$mHistory = $mailHistory -spilt ";" 
foreach($mH in $mHisotry) 
{ 
    #yourcode 
} 

"도메인 컨트롤러를 사용할 수 없으므로 테스트해야합니다."

+0

어째서 내가 DC를 가지고 있지 않은지 항상 나와 함께 가져옴 ;-) 좀 더 진지한 메모에서 나는 이것을 시험해보고 당신에게 알려 주겠다. 정말로 도움을 주셔서 감사합니다. – Clariollo

+0

흠. 내가 좀 더 가까이에 있다고 생각한다. $ mailhistory의 전체 텍스트를 더 낮추는 방법을 아직 찾을 수 없다. 'SMTP' : 나는 모든 내 원래의 문제처럼, 한 줄에 끝나 tolower를() 메소드를 사용한다면 내가 $ mailhistory = $ mailHistory -replace 'SMTP'를 사용하는 경우 이 같은 일이 발생 나는 이것에 너무 많은 시간을 할애하여 아마도 내가 원할 것 같다고 생각한다. – Clariollo