2017-12-29 47 views
1

온 프레미스 Exchange 2010/2013에서 온라인으로 Office 365 Exchange 로의 마이그레이션 작업을하고 있습니다. 부여 된 사용 권한으로 보내는 사용자 유형 및 공유 유형의 모든 사서함에 대한 보고서를 수집하려고합니다. 권한이 부여 된 메일 사용자의 이름도 포함됩니다. 내가 사용하고있는 코드는 다음과 같습니다.Exchange powershell이 ​​사용 권한으로 보내기 권한이 부여 된 모든 사서함을 수집하려고 시도했습니다.

#Get-Mailbox -RecipientTypeDetails SharedMailbox,usermailbox -resultsize unlimited | Get-ADPermission | where {($_.ExtendedRights -like "*Send-As*") -and ($_.IsInherited -eq $false) -and -not (($_.User -like "NT AUTHORITY\SELF") -or ($_.User -like "S-1-5-*") -or ($_.User -like "NT AUTHORITY\SYSTEM") -or ($_.User -like "BUILTIN\Administrators"))} | select User,identity | Export-Csv $outfile

코드가 작동하는 것 같다하지만 몇 분 후 나는 다음과 같은 얻을 : 나는 3 개 개의 다른 Exchange 서버에서 코드를 실행의 변화를 점점 계속 시도

enter image description here

같은 오류와 손실에있어. 심지어는 사용자에게만 제한하고 사서함을 공유하지 않으려 고 노력했습니다. 모든 제안을 부탁드립니다.

+0

오류 세부 정보를 텍스트가 아닌 이미지로 추가하십시오. –

+0

왜이 모든 것을 oneliner에 넣으려는 이유입니까? 이러한 스크립트 (예 : 마이그레이션 시나리오의 경우)에서는 먼저 모든 사서함 및 모든 사용 권한의 전체 목록을 얻는 경향이 있습니다. (이후의 참조를 위해 저장합니다.) 그런 다음 Powershell을 사용하여이 목록을 로컬로 처리합니다. – bluuf

답변

0

그 특별한 오류는 매우 구체적입니다. 크기 할당량이 성공을 방해하고 있습니다.

크기를 변경하여 문제가 해결되는지 확인할 수 있습니다.

winrm get winrm/config 

Default configuration 

Config 
    MaxEnvelopeSizekb = 500 
    MaxTimeoutms = 60000 
    MaxBatchItems = 32000 
    MaxProviderRequests = 4294967295 
    Client 
     NetworkDelayms = 5000 
     URLPrefix = wsman 
... 


winrm get winrm/config @{MaxEnvelopeSizekb="5000"} 

업데이트는 위와 같이 설정해야합니다. 나쁜 전치.

winrm set winrm/config @{MaxEnvelopeSizekb="5000"} 

또는 OP (CBeale)에 표시된 cmd.

Set-WSManInstance -ResourceURI winrm/config -ValueSet @{MaxEnvelopeSizekb = "5000"} 
+0

이것은 옳지 않았지만 문제를 해결하는 데 필요한 단서를 제공했습니다. 내가 사용한 명령은 다음과 같다. Set-WSManInstance -ResourceURI winrm/config -ValueSet @ {MaxEnvelopeSizekb = "5000"}' – CBeale