書き込みスコープは、任意のプロパティが特定の値に一致した場合に操作が行えるように条件を指定いたします。
なお、書き込みスコープは、管理者の役割にフィルター設定をおこない、特定のユーザーだけしか編集をできないようにしたいなどの場合に利用します。
管理者の役割については、以下の記事をご参照いただけますと幸いです。
なお、書き込みスコープを適用できない機能もいくつかあるようで、以下の機能については適用できないことを確認してます。
書き込みスコープが適用されない機能
・メッセージ追跡
・検疫
・監査ログ
・アクションセンター(動作検証不可のため可能性レベル)
・Address Listsによるアドレス帳ポリシーのコマンドレット
以下に作成するコマンドレットといくつかの例を記載いたします。
※ExchangeOnlineに接続してから実行してください。
書き込みスコープを作成するコマンドレット
<構文>
New-ManagementScope -Name "書き込みスコープ名" -RecipientRestrictionFilter "(任意のプロパティ名 -演算子 '任意の値')"
<実行例 1.>
New-ManagementScope -Name "SharedOnlyScope1" -RecipientRestrictionFilter "(RecipientTypeDetails -eq 'SharedMailbox')"
※ 共有メールボックスのみを操作可能な "SharedOnlyScope1" という書き込みスコープを作成しております
<実行例 2.>
New-ManagementScope -Name "SharedOnlyScope2" -RecipientRestrictionFilter "(RecipientTypeDetails -eq 'SharedMailbox') -and (PrimarySmtpAddress -eq 'shared@contoso.com')"
※ 共有メールボックスであり、メール アドレスが shared@contoso.com である場合のみ操作可能な "SharedOnlyScope2" という書き込みスコープを作成してます。
<実行例 3.>
New-ManagementScope -Name "SharedOnlyScope3" -RecipientRestrictionFilter "(RecipientTypeDetails -eq 'SharedMailbox') -and (CustomAttribute1 -eq '東京')"
※ 共有メールボックスであり、カスタム属性1 (CustomAttribute1) が "東京" に一致する場合のみ操作可能な "SharedOnlyScope3" という書き込みスコープを作成しております。
<実行例4>
New-ManagementScope -Name "SharedOnlyScope" -RecipientRestrictionFilter "(RecipientTypeDetails -eq 'SharedMailbox') -and (CustomAttribute1 -like '*東京*')"
※ 共有メールボックスであり、カスタム属性1 (CustomAttribute1) に "東京" を含む場合のみを操作可能な "SharedOnlyScope" という書き込みスコープを作成しております。
<実行例5>
New-ManagementScope -Name "UserOnlyScope1" -RecipientRestrictionFilter "(RecipientTypeDetails -eq 'UserMailbox')"
※ユーザーメールボックスのみ編集可能。
書き込みスコープを確認するコマンドレット
<実行例>
Get-ManagementScope | Export-Csv -Encoding UTF8 -NoTypeInformation C:\temp\ManagementScope.csv
<実行結果>
Name : 書き込みスコープ名
Filter : フィルター設定
※ RecipientFilter にも同じ値が記録されています。
また、書き込みスコープで指定可能なプロパティにつきましては、以下のサイトの情報をご参照ください。
また、いくつか作成してみた例を以下にご紹介したいと思います。
配布グループとメールが有効なセキュリティグループのみ
New-ManagementScope -Name "DistributionScope" -RecipientRestrictionFilter "(RecipientTypeDetails -eq 'MailUniversalSecurityGroup') -or (RecipientTypeDetails -eq 'MailUniversalDistributionGroup')"
セキュリティグループと動的配布グループのみ
New-ManagementScope -Name "SecDynScope" -RecipientRestrictionFilter "(RecipientTypeDetails -eq 'MailUniversalSecurityGroup') -or (RecipientTypeDetails -eq 'DynamicDistributionGroup')"
メールアドレスに特定の頭文字が含まれるリソースメールボックスのみ
<構文例>
New-ManagementScope "作成するスコープ名" -RecipientRestrictionFilter "(PrimarySmtpAddress -like '制限する頭文字*') -and (RecipientTypeDetails -eq 'EquipmentMailbox') -or (PrimarySmtpAddress -like '制限する頭文字*') -and (RecipientTypeDetails -eq 'RoomMailbox')"
<実行例>
New-ManagementScope "Resouce Scope" -RecipientRestrictionFilter "(PrimarySmtpAddress -like 'test*') -and (RecipientTypeDetails -eq 'EquipmentMailbox') -or (PrimarySmtpAddress -like 'test*') -and (RecipientTypeDetails -eq 'RoomMailbox')"
※ 実行例では test から始まるメールアドレスをもつ [リソースメールボックス] のみ操作できる権限となります。
共有メールボックス または 会議室メールボックス で指定したドメインのみ
New-ManagementScope -Name domainScope -RecipientRestrictionFilter "((RecipientTypeDetails -eq 'SharedMailbox') -or (RecipientTypeDetails -eq 'RoomMailbox')) -and (PrimarySmtpAddress -like '*@contoso.com')"
特定の表示名から始まるものを指定
New-ManagementScope "DisplayNameScope" -RecipientRestrictionFilter "(DisplayName -like 'テスト*')"
※表示名が テスト から始まるメールボックスやグループを対象としてます。
配布グループのメンバーのみ
$DG = Get-DistributionGroup -Identity "Group@contoso.com"
New-ManagementScope "groupscope" -RecipientRestrictionFilter "MemberOfGroup -eq '$($DG.DistinguishedName)'"
複数のグループのメンバーを条件指定する場合
$GroupA = Get-DistributionGroup -Identity "グループAのメールアドレス"
$GroupB = Get-DistributionGroup -Identity "グループBのメールアドレス"
New-ManagementScope "任意のスコープ名" -RecipientRestrictionFilter "(MemberOfGroup -eq '$($GroupA.DistinguishedName)') -or (MemberOfGroup -eq '$($GroupB.DistinguishedName)')"
DistinguishedName(識別名)を指定する場合の注意点
グループのメンバー指定などDistinguishedName値を対象とする場合、DistinguishedNameが変更されるケースがあり、それによりフィルター設定の対象とならなくなり、すべてのユーザーの操作が制限される事例を確認してますのでご注意ください。
DN (Distinguished Name) について(読み:ディスティングウィッシュトネーム)
CN commonName
L localityName
ST stateOrProvinceName
O organizationName
OU organizationalUnitName
C countryName
STREET streetAddress
DC domainComponent
UID userid
DN (Distinguished Name) は、上記を組み合わせて実現される、Active Directory 内におけるオブジェクトの識別名です。
<例>
CN=test, OU=development, DC=contoso, DC=co,DC=jp