「SendAs」アクセス許可が割り当てられたADセキュリティグループを持つすべての共有メールボックスを検索するためのPowerShellコマンドを見つけるための支援が必要です。テキストファイルに。
私がこれまでに持っているスクリプトは次のとおりです。
$ExchangeSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://MY-EXCHANGE BOX/PowerShell/" -Authentication Kerberos
Import-PSSession $ExchangeSession
$WFMGroups = $GroupSAMs = %{Get-Mailbox $_ | select -ExpandProperty dist* | %{Get-ADPermission $_ |
?{$_.extendedrights -like '*Send-As*'} | select -ExpandProperty User | %{$_.tostring().replace("DOMAIN\","")}} |
%{get-adobject -filter{samaccountname -eq $_}} | ?{$_.ObjectClass -eq "group"}} | select -ExpandProperty name
foreach ($WFMGroup in $WFMGroups)
{
$WFMGroup.GroupScope = "Universal"
Set-DistributionGroup -Identity $WFMGroup -Alias $WFMGroup
Set-DistributionGroup -Identity "$WFMGroup" -EmailAddressPolicyEnabled "$false" -DisplayName "$WFMGroup" -PrimarySmtpAddress "[email protected]" -HiddenFromAddressListsEnabled:$true -ManagedBy "AD-OBJECT"
}
ActiveDirectoryモジュールにアクセスできない場合( 他のフォーラムのスレッドに記載されているように )、目的を達成するには、Exchange管理シェルで利用可能なツール(またはその暗黙のリモーティングと同等)。
具体的には、スクリプトの次の行を置き換えます。
%{get-adobject -filter{samaccountname -eq $_}} | ?{$_.ObjectClass -eq "group"}} | select -ExpandProperty name
この行で(エイリアス拡張に注意してください):
ForEach-Object {Get-Recipient $_} | Where-Object {$_.RecipientType -like "*Group"}
使用前に十分にテストしてください。
また、に対してこの方法でグループスコープをプログラムで更新することを強くお勧めします-他の設定はおそらく問題ありません。非常に多くのスコープのグループスコープを変更する際の問題は、必然的に、グローバルグループのスコープをユニバーサルグループに変更する状況に遭遇することですが、別のグローバルグループのメンバーであるために失敗します(メンバーとしてのユニバーサルグループ)。