SOLVED

Office365 - Conversation History

Iron Contributor

I have noticed when I move my account from our on premise Skype for Business server to be homed instead in our Office365 tenant 2 of the Skype for Business client settings getting turned from off to on.

 

They are:

 

Save IM conversations in my email Conversation History folder

Save call logs in my email Conversation History folder

 

How do I force our Skype for Business online policy's to set these options as disabled?

12 Replies

When connected to Skype for Business Online trough PowerShell you could use this:
https://docs.microsoft.com/en-us/powershell/module/skype/set-csclientpolicy?view=skype-ps

Let me know if you need any more explanation.

best response confirmed by blue-man (Iron Contributor)
Solution

Hi Craig, you will need to modify the existing SfBO Client Policy that is assigned to that user, or create a new SfBO Client Policy and assign it to that user (performed through PowerShell).

 

The two settings you need to set within that client policy are;

1.) EnableCallLogAutoArchive $False

2.) EnableIMAutoArchive $False

 

Both of these are enabled by default in the SfBO default Client Policy, but changing them to false will fix your problem.

 

Kind regards
Ben 

Hi Chris, yes found that in my research thanks. Is there no way to sync our policies from our local server to O365? I would prefer the local deployment to be authoritive and any changes we make there to flow up to O365, or is the only way to change the policy directly in O365?

You'll need to manage the policy directly in O365 I'm afraid @blue-man. Client policies are relative to where the user is homed, so on-premises client policies can't be applied to users that are homed in SfBO.

 

Kind regards
Ben

Thank you Ben and I made sure I got your name right this time : )

No problem... sorry it's resulted in more work!

Hi Ben,

 

OK, so I have the following script ready.

 

$credential = Get-Credential

$Session = New-CsOnlineSession -Credential $credential

Import-PSSession $CSSession -AllowClobber

Get-CsClientPolicy | Where-Object {$_.EnableIMAutoArchiving -eq $False -and $_.EnableCallLogArchiving -eq $false}

set-CsClientPolicy -Identity Global -EnableIMAutoArchiving $false

set-CsClientPolicy -Identity Global -EnableIMAutoArchive $false

 

I picked up the script above from another thread that I have seen. A couple of questions:

 

1. Why is this part of the script needed? I have ran it on its own and it returns no results I have also ran it with the options set to $True and the command also returns no results.

Get-CsClientPolicy | Where-Object {$_.EnableIMAutoArchiving -eq $False -and $_.EnableCallLogArchiving -eq $false}

 

2. If I run Get-CsClientPolicy the command returns severeal policy including the global policy. For example, policies named like Tag:ClientPolicyNoSaveIMNoArchivingNoIMURL and ClientPolicyNoIMURL.

 

I presume by using -Identity Global this will apply the changes to all policies?

Hi Craig,

 

The global client policy can be considered the default policy. If you don't explicitly assign a client policy to a user then they will use the settings defined in the global one.

 

To answer your questions;

1.) That command is intended to retrieve all client policies that currently have those archiving settings set to false, but is a bit pointless as the rest of the script doesn't use the results.

2.) There are lots of predefined client policies that exist that are configured for common scenarios. The idea is that you can simply assign these rather than have to amend or create new policies. Once upon a time we didn't have the capability to create custom policies so these were all that existed.

 

If you want to change the global (default) policy only then run this;

$credential = Get-Credential

$Session = New-CsOnlineSession -Credential $credential

Import-PSSession $CSSession -AllowClobber

set-csclientpolicy -identity global -EnableIMAutoArchiving $False -EnableCAllLogAutoArchiving $False

 

If you want to make sure that ALL policies have these settings disabled then run this;

$credential = Get-Credential

$Session = New-CsOnlineSession -Credential $credential

Import-PSSession $CSSession -AllowClobber

set-csclientpolicy -EnableIMAutoArchiving $False -EnableCAllLogAutoArchiving $False

 

If you're not using custom policies then you probably only need to modify the global policy.

 

Hope that helps.

Ben

Cheers Ben, I presume I will also need this option setting to false also - EnableServerConversationHistory?

We do not want any server side logging of conversations at this moment.

For completion sake you can also disable that yes. Although that setting provides server-side conversation history, meaning your history is available across all devices rather than just the device you had he conversation on. As you're turning off conversation history anyway I would imagine that it renders this setting irrelevant regardless of what its set to - but yes turn it off for good measure in case I'm wrong - happens all the time!

 

Kind regards
Ben

OK, thanks Ben. Last question, hopefully!

 

If a setting doesn't have True or False against it (blank value) does it mean that the option is enabled (set to true)?

Hi Craig, that's not strictly true no - it means that the default setting for that parameter will apply - this isn't always $True (1).

1 best response

Accepted Solutions
best response confirmed by blue-man (Iron Contributor)
Solution

Hi Craig, you will need to modify the existing SfBO Client Policy that is assigned to that user, or create a new SfBO Client Policy and assign it to that user (performed through PowerShell).

 

The two settings you need to set within that client policy are;

1.) EnableCallLogAutoArchive $False

2.) EnableIMAutoArchive $False

 

Both of these are enabled by default in the SfBO default Client Policy, but changing them to false will fix your problem.

 

Kind regards
Ben 

View solution in original post