2017-03-10 4 views
0

PowerShell을 사용하면 폴더 수준에서 "Default"사용자의 AccessRights 수준이 아닌 특정 OU의 Exchange 환경에서 모든 사서함을 내보낼 수 있습니다. '없음'과 동일합니다.Exchange PowerShell : 사서함 폴더 AccessRights 내보내기

Cannot process argument transformation on parameter 'Identity'. Cannot convert the "DisplayNameOfMailbox" value of type "Deserialized.Microsoft.Exc hange.Data.Directory.Management.Mailbox" to type "Microsoft.Exchange.Configuration.Tasks.MailboxFolderIdParameter". + CategoryInfo : InvalidData: (:) [Get-MailboxFolderPermission], ParameterBindin...mationException + FullyQualifiedErrorId : ParameterArgumentTransformationError,Get-MailboxFolderPermission + PSComputerName : FQDNofExchangeServer

환경은 Windows Server 2008 R2 서버와에서 Exchange 2010을 기반으로합니다 : 나는 다음과 같은 오류가이 명령을 실행할 때, 그러나

$AllMailbox = Get-Mailbox -OrganizationalUnit "DNofOU" -ResultSize Unlimited 
$ResultData = foreach ($Mailbox in $AllMailbox) 
    { 
     Get-MailboxFolderPermission $Mailbox | Where-Object {$_.User -Match "Default" -AND $_.AccessRights -NotMatch "None"} | Select-Object Identity,AccessRights,@{Name="Name"; Expression={$Mailbox.Name}} 
    } 
$ResultData | Export-CSV -Path C:\temp\MailboxFolderPermissions.csv 

:이를 위해 나는 다음과 같은 명령을 사용하고 PowerShell 버전 2.0. 또한 Exchange 서버에 원격으로 연결할 때 PowerShell 버전 4.0이 설치된 Windows Server 2012 R2 서버에서이 작업을 실행할 수도 있습니다.

답변

0

나를 위해, 그것은 개체의 전체 정식 이름을 사용하는 것이 더 효과적입니다. 과 같이 : 이것에 대한 답이나 아직 발견,하지만 당신은 아마도 조직 단위의 모든 사서함을 얻을 수있는 방법에 대한 내 의견을 제시하고 싶었 경우

$mailboxArray = Get-Mailbox -OrganizationalUnit "example.com/Accounts" -ResultSize Unlimited 

나는 확실하지 않았다.