우리는 우리의 Active Directory에서 학생 사용자를 자동으로 생성하기 위해 powershell을 사용하고 있습니다. 사서함 사용 설정을 제외한 모든 작업을 수행 할 수 있습니다. 중고등 학생에게만 이메일 주소를 제공합니다. 그래서 스크립트에서 csv를 읽고 중등 학생들에게만 사서함을 사용하게하려고합니다. 우리 중등 학교는 모두 100 개 미만의 캠퍼스 번호를 가지고 있으므로 스크립트에 ForEach를 사용하도록 시도한 다음 $ _. extensionAttribute1 (캠퍼스 번호가있는 CSV의 열)이 100보다 작 으면 계정에서 메일 사용 가능하도록 설정합니다. . 내가 겪고있는 문제는 첫 번째 사용자 만 처리하고 스크립트를 종료한다는 것입니다. 나는 그것을 CSV의 각 행을 통해 실행하고 싶습니다. 여기에 내 대본이있다.csv를 사용하는 ForEach 내부의 문
add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
Import-CSV C:\scripts\updateuser.csv | ForEach {
$campus =$_.extensionAttribute1
If ($campus -lt '100') {
Enable-Mailbox -Identity $_.sAMAccountName -Database NISDSRV6DB1
}}
전체 CSV를 통해 실행할 수 있도록 도움을 주시면 대단히 감사하겠습니다. 도움을 주셔서 감사합니다.
EDIT ... 저는 CSV 파일을 어지럽 혀서 재미있는 결과를 얻었습니다. 이 스크립트는 아무 것도 표시 할 수있는 유일한 방법은 extensionAttribute1 필드가 1로 채워 경우 내가 미만 100
구문이 정확합니다. 실제로 생각대로 행동하고 있습니까? if 문 앞에 메시지를 작성하여 ForEach-Object 루프 내에서 실행되는 횟수를 디버그하십시오. – dugas
코드가 정상적으로 보입니다. CSV 파일을 재생산하거나 적어도 더미 CSV 파일을 함께 넣고 테스트하는 것이 좋습니다. 그 반대. 현재 CSV에서 첫 번째 행을 처리 한 후 루프가 중단되는 것으로 의심됩니다. – nimizen