Como validar se minha organização possui política de retenção configurada a partir do Centro de Conformidade e Segurança do Office 365 ?

Olá Pessoal,
Tivemos um caso no suporte onde o cliente queria validar se as politicas de retenção criadas estão corretas no Centro de Conformidade e Segurança do Office 365

Então tivemos as seguintes perguntas:
1 - Como validar se minha organização possui política de retenção configurada para cada workload a partir do Centro de Conformidade e Segurança do Office 365 ?
2 - Como validar se a política de retenção está ativa na organização?
3 - Como confirmar se há exceção por usuário?

• O resultado do primeiro comando indica que há InPlaceHold aplicado a nivel de organização que precede as politicas de usuario
PS C:\Users\Vinicius> Get-OrganizationConfig | Fl *hold*
MailTipsLargeAudienceThreshold : 25
SCLJunkThreshold : 4
InPlaceHolds : {mbx02f024e2f88f4358a0bba395a1a5652f:2, grp02f024e2f88f4358a0bba395a1a5652f:2}

• Mesmo que nao vejamos nenhum InPlaceHold atribuido diretamente ao usuario pois como disse a politica aplicada a nivel de organização precede as politicas aplicadas a usuario
PS C:\Users\Vinicius> Get-Mailbox -Identity mago | FL *hold*
LitigationHoldEnabled : False
RetentionHoldEnabled : False
EndDateForRetentionHold :
StartDateForRetentionHold :
LitigationHoldDate :
LitigationHoldOwner :
ComplianceTagHoldApplied : False
DelayHoldApplied : False
LitigationHoldDuration : Unlimited
SCLDeleteThreshold :
SCLRejectThreshold :
SCLQuarantineThreshold :
SCLJunkThreshold :
InPlaceHolds : {}

• Sem o switch -DistributionDetail veja que o status é exibido como pending no exemplo e logo abaixo com o switch inserido no comando veja que o status é success
O que vale aqui é com o switch -DistributionDetail !

• No exemplo abaixo temos a indicação que há duas politicas aplicadas a nivel de organização:
PS C:\Users\Vinicius> Get-OrganizationConfig | FL inplaceholds
InPlaceHolds : {mbx02f024e2f88f4358a0bba395a1a5652f:2, grp02f024e2f88f4358a0bba395a1a5652f:2}

OBS: aqui as politicas estão sendo aplicadas a caixas de correio (sigla mbx no começo do id) e a Office 365 Groups (sigla grp no começo do id), caso voce aplique ao Sharepoint, Skype, etc… outras siglas serão exibidas aqui antes do id.

• Se o resultado do comando ‘Get-OrganizationConfig | FL inplaceholds’ no parametro InPlaceHolds nao traz nada populado ( Ex: InPlaceHolds : {} ) então não há nenhuma politica aplicada a nivel de organização

• Na questão do usuario é diferente pois mesmo se vermos que o parametro InPlaceHolds nao traz nada populado no resultado do Get-Mailbox isso não quer dizer que não há nenhuma politica aplicada a ele, o que quer dizer é que não há nenhuma politica aplicada diretamente a ele. Ex:

PS C:\Users\visipo\OneDrive - Microsoft\Scripts> Get-Mailbox -Identity mago | FL inplaceholds
InPlaceHolds : {}

• Nesse exemplo o usuario ‘mago’ nao tem nenhuma politica aplicada diretamente a ele, mas como as politicas da organização tem precedencia então tal regra é aplicada a ele pois ele herda a herança de politicas da organização

• Fiz um exemplo aqui onde adicionei uma exceção ao usuario Bruno onde o adicionei na opção ‘exclude recpients’

• E pode-se ver a exceção do usuario no comando a nivel de organização no exemplo abaixo exibindo que a regra está para a All com exceção do usuario Bruno, na mailbox do mesmo será exibido o resultado da politica com um sinal de menos ( - )
PS C:\Users\Vinicius> Get-RetentionCompliancePolicy -DistributionDetail | FL *ex*,dis*
SharePointLocationException : {}
ExchangeLocation : {All}
ExchangeLocationException : {Bruno Duarte Sipoli}
SkypeLocationException : {}
ModernGroupLocationException : {}
OneDriveLocationException : {}
ExternalIdentity :
ExchangeVersion : 0.20 (15.0.0.0)
DistributionStatus : Success
DistributionResults : {}
DistinguishedName : CN=reter por 90 dias,CN=Configuration,CN=sipoli.onmicrosoft.com,OU=Microsoft Exchange Hosted Organizations,DC=FFO,DC=extest,DC=microsoft,DC=com

PS C:\Users\Vinicius> Get-Mailbox -Identity bruno | FL inplaceholds
InPlaceHolds : { - mbx02f024e2f88f4358a0bba395a1a5652f}

• Então resumidamente as perguntas foram respondidas assim

---------------------------------------------------------------------------------------------------------
1 - Como validar se minha organização possui política de retenção configurada para cada workload a partir do Centro de Conformidade e Segurança do Office 365 ?
Comando:
Get-OrganizationConfig | FL InPlaceHolds

Resultados:
InPlaceHolds : {} -> Se vazio, não há política configurada;
InPlaceHolds: {mbx (…)} -> Significa que há política aplicada a objetos do tipo caixas de correio (mailboxes), salvo em casos de exceção.
InPlaceHolds: {grp (…)} -> Significa que há política aplicada a objetos tipo grupo, salvo em casos de exceção

2 - Como validar se a política de retenção está ativa na organização?
Comando:
Get-RetentionCompliancePolicy -DistributionDetail | FL

Resultados:
DistributionStatus: Success -> Significa que a política de retenção está ativa;
DistributionStatus: Failed -> Significa que não há uma política de retenção ativa
DistributionStatus: Pending -> Significa que a política de retenção está pendente de ser aplicada.

OBS:
Baseado na validação do ítem dois, todos os usuários herdarão a política definida em nível de organização.
Os usuários apenas não herdarão a política global (da organização) se explicitamente, tivermos uma exceção estampada

3 - Como confirmar se há exceção por usuário?
Comando:
Get-RetentionCompliancePolicy -DistributionDetail | FL exchange*,dis*

Resultados:
ExchangeLocation : {All}
ExchangeLocationException : {UserName}

OBS:
O resultado acima informa que apenas o usuário “UserName” possui exceção de retention, logo, não recebe a política da organização.
Evidente, caso tivéssemos outros usuários, eles constariam na resposta do campo “ExchangeLocationException”
---------------------------------------------------------------------------------------------------------
Você pode ter mais informações no artigo abaixo também sobre tais politicas:
Visão geral de políticas de retenção