1

특정 AD 그룹의 구성원 인 일부 사용자의 일정에 대해 "검토 자"로 모든 사용자의 액세스 권한을 설정하는 스크립트를 만들고 싶습니다.Powershell - SetMailboxFolderPermission AccessRights가 같지 않은 경우에만 검토 자

나는이 그룹의 모든 구성원을 위해이 작업을 수행하는 스크립트를 이미 만들었습니다. 나는 그것을 조금 더 똑똑하게 만들고 싶습니다.

이 스크립트가 일주일에 한 번 자동으로 실행되도록 설정하고 액세스 권한이 모든 사용자에 대해 "검토 자"로 설정되지 않은 사서함에만 적용하려면이 스크립트를 예약하고 싶습니다. 그런

뭔가 :

$comm = Get-ADGroupMember GG_CalendarPermission-Reviewer | select -ExpandProperty name 
$GetCalendar = Get-mailboxfolderpermission -identity $user":\calendar" -user default 

foreach ($user in $comm) {  
    if ($GetCalendar.AccessRights -ne "Reviewer") { 
     set-mailboxfolderpermission -identity $user":\calendar" -user Default -accessrights reviewer 
    } 
    elseif($GetCalendar.AccessRights -eq "Reviewer") { 
     Write-Host "ALREADY DONE" 
    }  
} 

그러나 "/ ELSEIF이 경우"작동하는 것 같다하지 않습니다이 :/ 당신이 나에게 제발 도와 주 시겠어요?

감사합니다.

+0

$ GetCalendar 코드는 foreach 문 안에 있어야합니다. –

+0

감사합니다. Vincent에게 도움을 주셔서 감사합니다. foreach 문 안의 $ Get-Calendar에서 작동합니다. "Set-Mailboxfolderpermission"명령이 성공적으로 적용될 때 firts "if"뒤에 {Write-Host "Done"}을 어떻게 추가 할 수 있는지 알고 있습니까? ? – David

답변

0
$comm = Get-ADGroupMember GG_CalendarPermission-Reviewer | select -ExpandProperty name 

foreach ($user in $comm) { 
    $GetCalendar = Get-Mailboxfolderpermission -identity $user":\calendar" -user default 

    If ($GetCalendar.AccessRights -ne "Reviewer") { 
     Set-Mailboxfolderpermission -identity $user":\calendar" -user Default -accessrights reviewer 
     Write-Host 'Done' 
    } 
    ElseIf($GetCalendar.AccessRights -eq "Reviewer") { 
     Write-Host "ALREADY DONE" 
    }  
} 
+0

이제 완벽하게 작동합니다. 도와 줘서 고마워. :) – David

관련 문제