# 実行ファイルのディレクトリ
$CurrentDir = Split-Path $MyInvocation.MyCommand.path
# 出力先ディレクトリ
$ExpDir = $CurrentDir + "\export_file\"
# 検索対象

# ディレクトリの存在チェック
If (!(Test-Path $ExpDir)) {
    # 存在しない場合、ディレクトリ作成
    New-Item $ExpDir -ItemType Directory
}

# パーミッション一覧
$GetMB = Get-Mailbox -Filter "ResourceType -eq 'Room'" | Select PrimarySmtpAddress
$GetPL = foreach ($i in $GetMB.PrimarySmtpAddress ){ Get-MailboxFolderPermission -Identity $i":\calendar" | Select @{n="SmtpAddress";e={$i}},Identity,FolderName, User, AccessRights }
$GetPL | Export-Csv -Encoding UTF8 -Path $ExpDir"Permission.csv"

Start-Transcript .\Exchange_internal.log -Append

Get-DistributionGroup -Resultsize Unlimited | select-Object *Name*,Alias,Legacy*,PrimarySmtpAddress,RecipientType*,CustomAttribute* | export-csv .\All_DistributionGroup_internal.csv -encoding utf8

$All_DistGroupMember = foreach ( $i in Get-DistributionGroup -Resultsize Unlimited ) { Get-DistributionGroupMember $i.DistinguishedName -Resultsize Unlimited | select-Object @{n="DistributionGroup";e={$i.DisplayName}},@{n="GroupAddress";e={$i.PrimarySmtpAddress}},DisplayName,PrimarySmtpAddress,RecipientType* }
$All_DistGroupMember | export-csv .\All_DistributionGroupMember_internal.csv -encoding utf8

stop-Transcript
 

Start-Transcript .\Exchange_internal.log -Append

Get-AddressList | select-Object DisplayName,Container,Path | export-csv .\All_AddressList_internal.csv -encoding utf8
Get-GrobalAddressList | select-Object DisplayName,Container,Path | export-csv .\All_GrobalAddressList_internal.csv -encoding utf8
$AddressListMember = foreach ( $i in Get-AddressList ) { Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $i.RecipientFilter | select-Object @{n="AddressList";e={$i.DisplayName}},@{n="Container";e={$i.Container}},@{n="Path";e={$i.Path}},DisplayName,PrimarySmtpAddress,RecipientType* };$AddressListMember | export-csv .\All_AddressListMember_internal.csv -encoding utf8
$GrobalAddressListMember = foreach ( $i in Get-GrobalAddressList ) { Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $i.RecipientFilter | select-Object @{n="GrobalAddressList";e={$i.DisplayName}},@{n="Container";e={$i.Container}},@{n="Path";e={$i.Path}},DisplayName,PrimarySmtpAddress,RecipientType* };$GrobalAddressListMember | export-csv .\All_GrobalAddressListMember_internal.csv -encoding utf8

stop-Transcript