how to put in maintenance mode a front server in Skype for business 2015

If you need to reboot a front server in Skype for business 2015 or for some reason shutdown, you must put in maintenance mode the front end server.

First, check that all services are running:

PS C:\> Get-CsWindowsService -ComputerName FQDNServer

The output should be something like this:
Status   Name            ActivityLevel
——   —-            ————-
Running  W3SVC
Running  REPLICA
Running  FabricHostSvc
Running  RTCSRV          Incoming Requests per Second=0,Messages in Server=9…
Running  RTCCAA          Concurrent Calls=0
Running  RTCCAS          Concurrent Conferences=0
Running  RTCRGS          Current Active Calls=0
Running  RTCPDPCORE      Active Client Connections=0,Active Edge Connections=3
Running  RTCCPS          Total Parked Calls=0
Running  RTCATS          Current Active Calls=0
Running  RTCIMMCU        Active Conferences=0,Connected Users=0
Running  RTCDATAMCU      Active Conferences=1
Running  RTCAVMCU        Number of Conferences=0,Number of Users=0
Running  RTCASMCU        Active Conferences=0,Connected Users=0
Running  RTCMEDSRV       Current Outbound Calls=0,Current Inbound Calls=0,Cu…
Running  RTCHA

You can continue using the follow command:

PS C:\> Stop-CsWindowsService -ComputerName abzpauf001x -Graceful

where the switch Graceful means the server will not accept more connections but will wait until the communication ends before stop the service.

This process can take several minutes or hours. The good news is that we have the follow command:

PS C:\> Invoke-CsComputerFailOver -ComputerName FQDNServer

Once the command has been executed, you can check again the services and all of them should be in stopped status. To do this run the Get-CsWindowsService again:

The FailOveris is for the same purpose but its faster just be sure after reboot the server execute the Invoke-CsComputerFailBack -ComputerName FQDNServer


Can’t open a powershell session in Skype for business 2015 or Lync 2013

If you are trying to use Skype for business powershell in your computer to manage your servers and get this error:

New-PSSession : [ServerFQDN] Connecting to remote server ServerFQDN failed with the following error message : The
SSL connection cannot be established. Verify that the service on the remote host is properly configured to listen for HTTPS requests. Consult the
logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service,
run the following command on the destination to analyze and configure the WinRM service: “winrm quickconfig -transport:https”. For more information,
see the about_Remote_Troubleshooting Help topic.
At line:1 char:12
+ $Session = New-PSSession -ConnectionUri https://ServerFQDN/ocsP
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (System.Manageme….RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
    + FullyQualifiedErrorId : -2144108102,PSSessionOpenFailed
Import-PSSession : Cannot validate argument on parameter ‘Session’. The argument is null. Provide a valid value for the argument, and then try
running the command again.
At line:2 char:18
+ Import-PsSession $session
+                  ~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Import-PSSession], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.PowerShell.Commands.ImportPSSessionCommand

You need to uninstall the Windows Management Framework 5.0 because is not compatible with Lync or Skype for business. the version 5.1 is not compatible either.

How to get the full cmdlets list in Exchange 2016

to get the complete list of all cmdlets that you can run in exchange 2016, open an Exchange  powershell and try with the follow commands:

Full list of cmdlets: Get-Command
Only Exchange cmdlets: Get-ExCommand
Cmdlets that match a specific string: Help **
Get general help: Help
Get help for a cmdlet: Help or -?
Exchange team blog: Get-ExBlog
Show full output for a command: | Format-List

Show quick reference guide: QuickRef
With this command, a web page will be opened with the Exchange Management Shell quick reference for Exchange information where you can see how to use the cmdlets in powershell.

Skype is not saving history conversations skype for business 2015

For this problem there some workarounds but they are only temporary solutions, here you have all that I have tried:
1.      Delete the oldest file in the conversation history folder (%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\sip_EmailAddress\History Spooler) restart outlook and it going to work again.
2.      Re-create the skype profile, first sign out and exit from skype and outlook, then go the follow path “%userprofile%\AppData\Local\Microsoft\Office\15.0\Lync\” rename the current sip_EmailAddress (you can add _Old) open skype and outlook and it going to work again.
3.      Update the skype for business client.

But the most recent fix is modify the exchange server file web.config. it means open this file from installation directory > Client access > EWS. Edit web.config file and add this line (Preferably type it instead of copy & paste): Restart IIS and it works again.
I hope it helps

Problems with attachments and vbscripts in outlook

If you have an issue with attachments in outlook (any version) basically when the attachment includes consecutive dots (…) or exclamation mark (!) the files are blocked and you receive an error message: “Opening mail attachment. You should only open attachments from a trustworthy source”


If you have problems with a custom form that you have created for outlook and see one of these messages:
“To help prevent malicious code from running, one or more objects in this form were not loaded.” or the vbscript doesn’t run.

The fixes have been releases from Microsoft last Friday July 28. Go to this website and find the correct KB according to your office version.

how to know what port and connections are in use

With the command Netstat we can know what ports are listening and therefore we can troubleshoots some applications, with this command we are able to get protocol statistics (for UDP and TCP v4 and v6).

If you use the command netstat without parameters only display the active connections, but sometimes you need to know about a specific port, in this example you can use the parameters -a -n -o

C:\>netstat -ano | findstr 80
  TCP               LISTENING       4
  TCP              LISTENING       2436
  TCP              LISTENING       1080

and you will obtain what process ID is listening in the port 80 and which protocol as well.

this is a complete list of parameters to use with this command.

Displays protocol statistics and current TCP/IP network connections.

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval]

  -a            Displays all connections and listening ports.
  -b            Displays the executable involved in creating each connection or
                listening port. In some cases well-known executable host
                multiple independent components, and in these cases the
                sequence of components involved in creating the connection
                or listening port is displayed. In this case the executable
                name is in [] at the bottom, on top is the component it called,
                and so forth until TCP/IP was reached. Note that this option
                can be time-consuming and will fail unless you have sufficient
  -e            Displays Ethernet statistics. This may be combined with the -s
  -f            Displays Fully Qualified Domain Names (FQDN) for foreign
  -n            Displays addresses and port numbers in numerical form.
  -o            Displays the owning process ID associated with each connection.
  -p proto      Shows connections for the protocol specified by proto; proto
                may be any of: TCP, UDP, TCPv6, or UDPv6.  If used with the -s
                option to display per-protocol statistics, proto may be any of:
                IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, or UDPv6.
  -r            Displays the routing table.
  -s            Displays per-protocol statistics.  By default, statistics are
                shown for IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP, and UDPv6;
                the -p option may be used to specify a subset of the default.
  -t            Displays the current connection offload state.
  -x            Displays the TCP connection template for all connections.
                Cannot be combined with the other options.
  interval      Redisplays selected statistics, pausing interval seconds
                between each display.  Press CTRL+C to stop redisplaying
                statistics.  If omitted, netstat will print the current
                configuration information once.

How to configure Telerik Fiddler

Telerik Fiddler it’s a great tool for troubleshooting, you can see in real time whats going on with all connection, for example I’m having a problem saving conversations history in outlook with my skype for business client.

I have configured the Fiddler to trace from the client with HTTPS decryption, it easy just go to Tooll Menu – Telerik Fiddler Options – HTTPS Tab and check “Decrypt HHTPS Traffic”.

Yo can find the complete manual here download and enjoy this great tool.

-Tony Gonzalez