Exchange Autodiscover with HTTP redirect method

Server 2012 R2
Create a new Website on the CAS “autodiscover-redirect”
create a virtual directory called “autodiscover”
Click the virtual directory then open “Http Redirect
enter the url of the exchange server e.g. “” (Must be HTTPS)
Ensure both “Redirect all requests to excact destination” and “Only redirect requests to content in this directory” are ticked
Test using either or a mobile / outlook client.

Configure MikroTik VPN using Radius and NPS on Windows AD

Configure NPS on a Domain controller:
(Based on Windows Server 2019)
Install NPS Role
open NPS admin console
Select “RADIUS server for Dial-Up or VPN Connections” and click “Configure VPN or Dial-Up
Select “VPN Connections” and click Next
Click “Add” and fill in details as required (IP must be the IP of the router)
Take note of the Shared Secret
Click next on the rest of the screens (add groups as required)

Note: Before users will be able to authenticate using Radius “Allow Access” on the “Dial-in” Tab for the user in AD will need to be selected as “Control Access throught NPS Network Policy” does not work at least for Windows Server 2016 and above.

on the Mikrotik:
Click “Radius” then “+”
Complete the following:
Service: ppp
Domain: domain
Address: IP of NPS Server
Secret: Password defined while setting up NPS
Src Address: The IP of the interface (Must match the IP Specified in while setting up NPS)

Add the following rule in the firewall:
chain: input, Action: Accept, Protocol: TCP, Dst. Port: 1723
chain: input, Action: Accept. Protocol: 47 (gre)


Re-map all printers from one server to another

Script to migrate users from one server to another

Running the below will migrate all printer connections from “OLD-SERVER” to “NEW-SERVER” While keeping the original name of the printer.

strOldServer = "OLD-SERVER"
strNewServer = "NEW-SERVER"

strComputer = "."
Set WSHNetwork = CreateObject("WScript.Network")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer")

strOldServer = prepServer(strOldServer)
strNewServer = prepServer(strNewServer)

For Each objPrinter in colInstalledPrinters
strName = objPrinter.Name
iPrinterLocation = InStr(UCase(objPrinter.Name),UCase(strOldServer))
If iPrinterLocation > 0 then
strPrinter = strNewServer & Right(strName, Len(strName) - Len(strOldServer))
WSHNetwork.AddWindowsPrinterConnection strPrinter
If objPrinter.Default = True Then
WSHNetwork.SetDefaultPrinter strPrinter
End If
End If

Function prepServer(strServer)
If Left(strServer, 2) <> "\\" then
strServer = "\\" & strServer
End If
If Right(strServer, 1) <> "\" then
strServer = strServer & "\"
End If
prepServer = strServer
End Function