validate remote session is still valid in gui

i’ve just noticed some odd behaviour in a gui i’ve developed, utilizing msonline

on intial gui load users are prompted for credentials to authenticate to 365, and it then connects the msolservice

however after a few hours when the session expires, if you try to utilize any of the 365 functions the entire application crashes.

In script form i would normally just be prompted for credentials again.

but this isn’t occuring, i’m trying to wrap my head around how to validate that the connection is still valid and if not how to force for credentials to be asked for again

What’s your GUI running in?

Can you just add try…catch in your code? Something like

try{
get-Mailbox $user
}
catch [System.Management.Automation.CommandNotFoundException]
{
#Prompt for credential
}