もっと詳しく

ExchangeServer組織またはMicrosoft365テナント(Exchange Online)でメールボックスのアクセス許可を監査する場合、管理者は特定のユーザーがアクセスできるすべてのメールボックスを見つける必要があります。 この記事では、特定のユーザーがアクセス許可を持っているメールボックス(および特定のOutlookフォルダー)のリストを取得するためのいくつかのPowerShellスクリプトを見ていきます。

コンテンツ:

  • ユーザーがアクセスできるすべてのExchangeまたはMicrosoft365メールボックスを一覧表示する
  • ユーザーがExchange/Microsoft 365でアクセスできるメールボックスフォルダーを一覧表示するにはどうすればよいですか?

ユーザーがアクセスできるすべてのExchangeまたはMicrosoft365メールボックスを一覧表示する

使用 Get-MailboxPermission メールボックスに割り当てられたアクセス許可のリストを取得するコマンドレット。

PowerShellコンソールを開き、オンプレミスのExchangeServerまたはMicrosoft365(Exchange Online)にリモートで接続します。

以下のコマンドは、指定されたメールボックスにアクセスする権限を持つユーザーのリストを表示します。

get-mailboxpermission -identity t.muller@woshub.onmicrosoft.com |ft -AutoSize

この例では、GradyとHenriettaが 全権アクセス 指定されたメールボックスへのアクセス許可。 権限は手動で割り当てられます(継承されません)。 IsInherited = False

メールボックスに割り当てられた権限に関する完全なレポートを表示し、便利なOut-GridViewテーブルに表示できます。

Get-Mailbox | Get-MailboxPermission | where {$_.user.tostring() -ne "NT AUTHORITYSELF" -and $_.IsInherited -eq $false} | Out-GridView

次のPowerShellコマンドを使用して、特定のユーザーが次のフルアクセス権限を持っているExchange組織またはテナント内のメールボックスを検索して一覧表示できます。

Get-Mailbox -ResultSize Unlimited | Get-MailboxPermission -User Henrietta | ft User,Identity,AccessRights

特定のユーザーがアクセスできるすべてのメールボックスを一覧表示する(AccessRights)

この例では、ユーザーに3つのメールボックス([ID]列)へのフルアクセスが割り当てられていることがわかりました。

Microsoft 365では、新しいExchange Online PowerShell v2(EXO V2)モジュールコマンドレットを使用して、次のリストを取得できます。

Get-EXOMailbox -ResultSize Unlimited | Get-EXOMailboxPermission -Identity $_.Identity | Where-Object {$_.User -eq "Henrietta@woshub.onmicrosoft.com"}

メールボックスの種類ごとにフィルタを使用できます。 検索が速くなります。 これを行うには、を追加します –RecipientTypeDetails Get-EXOMailboxまたはGet-Mailboxコマンドのオプションを選択し、検索するメールボックスの種類を指定します。

  • DiscoveryMailbox
  • EquipmentMailbox
  • GroupMailbox
  • LegacyMailbox
  • LinkedMailbox
  • LinkedRoomMailbox
  • RoomMailbox
  • SchedulingMailbox
  • SharedMailbox
  • TeamMailbox
  • UserMailbox

例えば:

Get-Mailbox -ResultSize Unlimited -RecipientTypeDetails SharedMailbox| Get-MailboxPermission -User "Henrietta" | ft User,Identity,AccessRights

ユーザーが持っているメールボックスを見つけるには SendAs 権限:

Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | Get-RecipientPermission -Trustee Henrietta

また、メールボックスを見つけることができます 代わって送信 有効な権限:

Get-Mailbox | ? {$_.GrantSendOnBehalfTo -match "Henrietta"}

ユーザーがExchange/Microsoft 365でアクセスできるメールボックスフォルダーを一覧表示するにはどうすればよいですか?

Exchange(Microsoft 365)メールボックス全体にアクセス許可を割り当てることに加えて、特定のメールボックスフォルダーへのアクセスを許可できます。 たとえば、 Inbox また Calendar フォルダ。 ユーザー権限を監査する場合、FullAccess権限を持つメールボックスだけでなく、他のユーザーがアクセスできるユーザーのメールボックス内の特定のフォルダーも検索する必要がある場合があります。

指定したメールボックス内のフォルダのリストは、 Get-MailboxFolderStatistics コマンドレット。 次に、を使用できます Get-MailboxFolderPermission フォルダのアクセス許可を一覧表示します。

次のPowerShellスクリプトは、組織内のすべてのメールボックスをチェックし、ユーザーがアクセスできるフォルダー(サブフォルダーを含む)を一覧表示します。

メールボックスの数が多いExchange組織では、スクリプトの動作が遅くなる場合があります。 メールボックスのリストを事前にフィルタリングするか、部分的にチェックすることをお勧めします。 メールボックスのサイズとその中のフォルダーの数も、Get-MailboxFolderStatisticsを使用してフォルダーに関する情報を取得するときのスクリプトのパフォーマンスに影響します。

$user_find_permissions= "*Henrietta Fischer*"
$allpermissions = @()
$MBXs= Get-Mailbox -ResultSize Unlimited
Foreach ($MBX in $MBXs){
$MBXfolders=Get-MailboxFolderStatistics $MBX.PrimarySmtpAddress |select Name
Foreach ($MBXfolder in $MBXfolders){
try {
$folder=$MBX.PrimarySmtpAddress + ":" + $MBXfolder.name
$folderpermessions= Get-MailboxFolderPermission -Identity $folder -ErrorAction Stop | where {($_.user -like $user_find_permissions)}
$allpermissions += $folderpermessions
}
catch {
Continue
}
}
}
$allpermissions | select Identity, FolderName, User,AccessRights

Get-MailboxFolderPermissionを使用して、メールボックスで割り当てられたフォルダーのアクセス許可を検索します

このPowerShellスクリプトは、特定のユーザーがアクセスできる他のユーザーのメールボックス内のすべてのフォルダーを一覧表示します。 メールボックス名(ID)、FolderName、および割り当てられたフォルダー権限(Editor、Reviewerなど)が表示されます。

また、あなたは新しいを使用することができます Get-EXOMailboxGet-EXOMailboxFolderPermission、 と Get-EXOMailboxFolderStatistics Microsoft365用のEXOv2モジュールのコマンドレット。

The post Exchange /Microsoft365でユーザーがアクセスできるメールボックスのリストを取得する appeared first on Gamingsym Japan.