#skype4b #powershell Watch Those Temporary Files!

Certain cmdlets in the SkypeForBusiness PowerShell module appear to have the need to write temporary files to the $env:temp folder in order to correctly function.

Over time, disk space consumption can add up, particularly when this path points to the default location, namely on the same drive where the operating system is installed. Needless to say, regular manual or scheduled clean-up of the temp directory is generally recommended to ensure continuous and trouble-free operations.

#skype4b/office365 Cannot perform the action (password reset)

With the right credentials, you continue to fail to sign-in to Skype for Business / Office 365 (Skype Online):

Can’t sign in to Skype for Business
The user name, password, or domain appears to be incorrect. Ensure that you entered them correctly. If the problem continues, please contact your support team.

Still not working? See if you can fix it.
[OK]

On the main skype4b desktop application’s “Sign in” page, … Continue reading

#skype4b Uninstall-CsDatabase SQL Failure

To remove a Skype for Business Server backend SQL database, you execute the following and immediately hit a similar failure as depicted:

Uninstall-CsDatabase -SqlServerFqdn fesqlserver -DatabaseType Monitoring

Trying to connect to Sql Server using windows authentication…
Exception stack:
Type: System.Reflection.TargetInvocationException, Message: Exception has been thrown by the target of an invocation.
Type: Microsoft.Rtc.Common.Data.DbSetupSqlServiceNotInstalledException, Message: Failed to find Sql Service. Make sure that SQL server service (default instance) is installed in machine fesqlserver.

Uninstall-CsDatabse: Failed to connect to the SQL Server fesqlserver.
At line:1 char:1

For a setup with non SQL default instance (MSSQLSERVER), specify the -SqlInstanceName parameter and corresponding value to correct this issue.

#skype4b: SQL Mirror Database Failover Suspended (not synchronized state)

With SQL Database Mirroring setup in a Skype for Business Server infrastructure, the state of all databases should be uniform and not with “partial” cross over. That is to say, the status for both StateOnPrimary and StateOnMirror should either all be in the Principal or Mirror state when checked using Get-CsDatabaseMirrorState.

If that turns out otherwise, you can run Invoke-CsDatabaseFailover for the target Front-End pool to achieve this stable mirror state on both the primary and mirror SQL Database servers. Nevertheless, FailedWithError could happen where MirroringStatusOnPrimary and/or MirroringStatusOnMirror continue to show suspended and cannot reach a synchronized state.

Should a manual … Continue reading

skype4b: Get-CsUserDatabaseState – Show SQL Database Servers

Here’s a quick tip to display the names of associated backend SQL primary and mirrored (if any) database servers of a Standard or Enterprise Edition Lync/Skype for Business Server 2015 Front-End pool:

Get-CsUserDatabaseState -RegistrarPool fepool.leedesmond.com

The result lists the Identity, Mirror and Online status of the SQL database servers of the specified FE registrar pool. This works since only this pool type houses the user store (database) which keeps key user related information like presence and routing data.

 

 

Get-CsPoolFabricState – UserServices not installed

On Skype for Business Server 2015, you may encounter:

Get-CsPoolFabricState: UserServices is not installed on this machine

Ensure that the value set to the -PoolFqdn parameter of this cmdlet indeed points to a Front-End Standard or Enterprise Edition Pool and not just a node’s FQDN in the server pool. All other pool types like Mediation, Edge or Persistent Chat are not valid (for obvious reason).

Still no change as reported in my last blog post on this very topic – the Get-CsPoolFabricState cmdlet does NOT generate any objects or allow its output to be captured. One workaround is to explicitly run the cmdlet as follows:

powershell.exe Get-CsPoolFabricState -PoolFqdn fe.leedesmond.com > out.txt

… and process the saved result with Select-String for instance.

RE: Skype for Business for Android – Exchange Settings (still) “Lost” v6.16.0.9

UPDATE (10 Jul 2017)

Microsoft publicly released on this day the Android version of Skype for Business 6.16.0.9.

The two Exchange settings “Skype for Business Anmeldeinformationen verwenden” and “Server automatisch erkennen” are now by default enabled regardless of previous states. A user must explicitly override the latter (off) to get EWS to work if auto config is not desired.

Likewise a user interface quirk as last reported, if “Skype for Business Anmeldeinformationen verwenden” is activated, the UI disables it when you revisit the config page. The option “Server automatisch erkennen” now correctly remains off with the given URL if configured as such before. As long as you hit Cancel and do not logoff, all should continue to function.

Note that IMs received over the Android mobile client remain on the main page until deleted. To do this, press and hold to pick the delete menu option. Simply trying to swipe away does not (yet?) delete an IM from the list.

Skype for Business for Android Mobile – Exchange Settings “Lost”

#skype4b

Like previous releases, the current version (6.16.0.7) of Skype for Business for Android mobile devices exposes 2 Exchange configuration options namely “Skype for Business Anmeldeinformationen verwenden” and “Server automatisch erkennen”.

If you disable the latter option, specify manually the “Exchange-Webdienste FQDN oder URL” and press OK to save the changes, the settings should take effect in an instance or so. The appearance of a list of upcoming skype4b meetings on the main and Calendar tab confirms that Exchange Web Services (EWS) connectivity is functioning as expected.

Nevertheless when you revisit the same Exchange configuration settings, you find that the “Skype for Business Anmeldeinformationen verwenden” is deactivated unexpectedly. Additionally, “Server automatisch erkennen” is now mysteriously re-enabled. By turning it off again, you see that the previously entered EWS FQDN/URL is still intact.

This is apparently a User-Interface only issue; from a functional perspective, everything should continue to work as normal until Microsoft fixes this UI quirk. Otherwise, you may have to logoff and sign-in to have the EWS settings take effect (or toggle the switches explicitly).

#skype4b Get Pool Node IP Address (Front-End, Mediation, Edge, etc.)

Get-Skype4bPoolIP is one of the many PowerShell functions/utilities in my personal script toolbox repository designed to help simplify the management and administration of just about any Skype for Business / Lync Server environment. Enjoy!
##########################################################################
# Copyright (c) 201x-2017 leedesmond.com
# All Rights Reserved. Use at your own risk and responsibility.
# Get-Skype4bPoolIP.ps1
# Version 1.00
#
# USAGE:
# Get-Skype4bPoolIP “fe-pool.leedesmond.com”
# Get-Skype4bPoolIP (Get-CsService -Registrar).PoolFqdn
#
Continue reading

#Skype4B/Lync Script: Show User Policy

Show-Skype4BUserPolicy is one of the many PowerShell functions/utilities in my personal script toolbox repository designed to help simplify the management and administration of just about any Lync / Skype for Business Server environments.

It is a companion to Compare-Skype4BUserPolicy for the purpose of displaying information (user policy) in a more readable and useful format (rotate pivot-table). Enjoy!

################################################################################
# Copyright (c) 201x-2017 leedesmond.com
# All Rights Reserved. Use at your own risk and responsibility.
# Show-Skype4BUserPolicy.ps1
# Version 1.00
# Companion to Compare-Skype4BUserPolicy.ps1
#
# USAGE:
# Show-Skype4BUserPolicy (Compare-Skype4BUserPolicy $u1 $u2 -DistinctObject)
#
Continue reading