Wenn man das für alle machen Benutzer machen will, geht das z.B. so:
Get-IppbxUser | Set-IppbxUserPresenceState -IsDND:$False
Das als geplanter Vorgang in Windows auf dem Server jede Nacht laufen lassen, um z.B. den Status zurückzusetzen. Zusätzlich noch -IsAway:$false anhängen, um auch das manuell gesetzte "Abwesend" wieder zurückzusetzen.
Man könnte sich auch ein Script bauen, was regelmäßig als geplanter Vorgang läuft und prüft, ob ein Benutzer ausgeloggt ist, um dann den Status zurückzusetzen. Z.B. so:
Get-IppbxUser -Readonly -AddDeviceInformation | Where-Object { $_.LoggedInDevices.Count -eq 0 } | Set-IpPbxUserPresenceState -IsDND:$False
Persönlich würde mich das als User aber ziemlich nerven. Ich definiere mit dem Präsenzstatus selber, ob ich erreichbar bin oder nicht. Da soll keine Automatik dazwischenfunken, es sei denn, ich habe sie selber definiert. Vielleicht ist deshalb ein Hinweis netter, statt einfach zurückzusetzen. Du könntest mit einem geplanten Vorgang nachts z.B. den Usern mit "nicht stören" eine Email schicken:
Get-IppbxUser -AddPresenceInformation |
Where-Object { $_.IsDND } |
ForEach-Object {
Send-MailMessage -To $_.EmailAddr `
-Subject "Friendly reminder: Your SwyxWare status is still set to 'do not disturb'" `
-From <fromaddress> `
-smtpserver <mailserver> `
-Credential $Credentials
}