Installing Skype for Business on Server 2012 R2

Run this Script before you install Skype for Business

image

image

image

image

image

image

image

image

Create a Topology
image

Publish Topology

image

image

image

image

image

image

Configure Certificate

image

image

Powershell Script to Install Requirements for Skype for Business Server 2015 on Server 2012 R2

I Created a powershell script to install Requirements for Skype for Business Server 2015 on Server 2012 R2

You can download the Script from Technet Script Libary

https://gallery.technet.microsoft.com/scriptcenter/Install-Requirements-for-aabf7358

How to setup a remote PowerShell-session with Exchange 2013

Now I want to manage my Exchange 2013 environment from the Windows 8 workstation, no Exchange tools are installed on the Windows 8 laptop. In a few simple steps you can open a remote PowerShell session to one of the Exchange Servers.

Logon to the Windows 8 machine and start the ‘Windows PowerShell ISE

 

$RemoteEx2013Session = New-PSSession -ConfigurationName Microsoft.Exchange `
                                     -ConnectionUri http://servername/PowerShell/ `
                                     -Authentication Kerberos -Credential (Get-credential)
Import-PSSession $RemoteEx2013Session

Save this to Remote Exchange 2013 Powershell.ps1

Don’t forget setting your Powershell to unrestricted with: set-executionpolicy unrestricted

Exchange 2013 Performance Health Checker Script

Awesome Script Smile
This script checks various configuration items on the server to make sure they match the recommendations published in the “Exchange 2013 Sizing and Configuration Recommendations” guidance on TechNet.  It also reports on OS, system, and hardware information.  It can be ran remotely, against a single server or a group of servers.  It takes some of the most common configuration causes of Exchange 2013 performance cases that we encounter in support and allows you to rule them out quickly without having to check each server or read through the entire TechNet guidance. 

This script needs to be executed from the Exchange 2013 Management Shell.

Here is a current list of items the script reports on:

Operation System version
Exchange Build
Physical/Virtual Machine
Server Manufacturer and Model (physical hardware only)
VM host processor/memory configuration recommendations
Exchange server roles
Pagefile Size
Power Settings
.NET Framework version
Network card name and speed
Network card driver date and version (Windows 2012 and Windows 2012 R2 only)
RSS enabled (Windows 2012 and Windows 2012 R2 only)
Physical Memory amount
Processor Model
Number of processors, cores, and core speed
Hyper-threading enabled/disabled
Processor speed being throttled
Current list of active/passive databases and mailboxes (optional)

HealthChecker

Download: https://gallery.technet.microsoft.com/Exchange-2013-Performance-23bcca58

Public Folder Migratie to Office365

Move Public Folder script from 2007/2010 to Office 365 Script created by Ward Vissers
www.wardvissers.nl

THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK
OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER

                                        
Please Select the Choice You Want

Prepare for Migration (Legacy Exchange Server
00) Add the Office 365 Domain Name
01) Take a snapshot of the original source folder structure
02) Take a snapshot of public folder statistics such as item count, size, and owner.
03) Take a snapshot of the permissions
04) Locate public folders that have a backslash in the name
05) Rename Public Folder
06) Checks the public folder migration status.
07) Set PublicFolderMigrationComplete to False

Check Office 365
08) Get-PublicFolderMigrationRequest
09) Get-Mailbox -PublicFolder
10) Get-PublicFolder

Generate CSV Files and create Public Folder Mailboxes (Legacy Exchange Server)
11) Export-PublicFolderStatistics PFSizeMap.csv
12) PublicFolderToMailboxMapGenerator PFMailboxMap.csv

Create the public folder mailboxes on Exchange Online
13) Master Public Folder Name
14) Create Public Folder Mailboxen (Check PFMailboxMap.csv)

Migrating the Public Folders
15) Export mail-enabled public folders from Active Directory
16) LegacyExchangeDN Administrator
17) LegacyExchangeDN Public Folder Server
18) External Name Outlook Anywhere
19) Set the XML file
20) Give the CSV file to start the Migration
21) Public Folder Migration Status

Lock down the public folders on the legacy Exchange server for final migration (downtime required)
22) Lock the legacy public folders for finalization

Finalize the public folder migration (downtime required)
23) Finalize the public folder migration (downtime required)

Test and unlock the public folder migration
24) Add Public Folder to Test User
25) Unlock the public folders for all other users
26) Public Folder Migration Complete (Legacy Exchange Server)
27) Public Folders Enabled Local

Final Check
28) Take a snapshot of the original source folder structure.
29) Take a snapshot of the public folder statistics such as item count, size, and owner
30) Take a snapshot of the permissions

99) Exit
Public Folder Migratie to Office365

Download: https://gallery.technet.microsoft.com/scriptcenter/Public-Folder-Migratie-to-25bd50a0

Virtualizing Internet Explorer 11 with ThinApp 5.1

With ThinApp 5.1 support for virtualizing Internet Explorer 11 was introduced.

1. Start your Windows 7 capture’n’build machine (Windows 7 SP1 with non Windows Updates)
2. Install Prerequisite updates for Internet Explorer 11
3. Download Download Internet Explorer 11 32-bit Installer English or Download Internet Explorer 11 64-bit Installer English
4. Start ThinApp Setup Capture
5. Do a prescan
6. Install Internet Explorer 11
7. Do a post scan
8. Build your project
9. Finish

Exchange 2013 Setup Error: A Receive connector must have a unique combination of a local IP address & port bindings and remote IP address ranges

You may get an error while Exchange setup checks Receive Connectors for local IP address/port bindings and remote IP address ranges for the server where you are installing Cumulative Update. This error would come up at “Mailbox Role: Transport Service” step of setup/update process. Here is the detailed error message.

Error:

Error:
The following error was generated when “$error.Clear();
$connectors = Get-ReceiveConnector -Server $RoleFqdnOrName;
foreach($connector in $connectors) { if($connector.MaxLocalHopCount -gt 1) { Set-ReceiveConnector -Identity $connector.Identity -MaxLocalHopCount 5 } };
” was run: “Microsoft.Exchange.Management.SystemConfigurationTasks.ConnectorMappingConflictException: The values that you specified for the Bindings and RemoteIPRanges parameters conflict with the settings on Receive connector “EX2013\Incoming from Internet – Dummy”. A Receive connector must have a unique combination of a local IP address & port bindings and remote IP address ranges. Change at least one of these values.
at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl)
at Microsoft.Exchange.Configuration.Tasks.Task.WriteError(Exception exception, ErrorCategory category, Object target)
at Microsoft.Exchange.Management.SystemConfigurationTasks.SetReceiveConnector.InternalValidate()
at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__b()
at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)”.
 
Error:
The following error was generated when “$error.Clear();
$connectors = Get-ReceiveConnector -Server $RoleFqdnOrName;
foreach($connector in $connectors) { if($connector.MaxLocalHopCount -gt 1) { Set-ReceiveConnector -Identity $connector.Identity -MaxLocalHopCount 5 } };
” was run: “Microsoft.Exchange.Management.SystemConfigurationTasks.ConnectorMappingConflictException: The values that you specified for the Bindings and RemoteIPRanges parameters conflict with the settings on Receive connector “EX2013\Default Frontend EX2013”. A Receive connector must have a unique combination of a local IP address & port bindings and remote IP address ranges. Change at least one of these values.
at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl)
at Microsoft.Exchange.Configuration.Tasks.Task.WriteError(Exception exception, ErrorCategory category, Object target)
at Microsoft.Exchange.Management.SystemConfigurationTasks.SetReceiveConnector.InternalValidate()
at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__b()
at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)”.

Explanation:

You can not have same values of Local IP Address:Port bindings and Remote IP Address Range both on two Receive Connectors so essentially you have to change anyone of these on one of the Receive Connector.

Now problem is you won’t be able to open Exchange Admin Center (EAC) or Exchange Management Shell (EMS) to modify Local IP Address:Port Bindings or Remote IP Address Ranges on one of these receive connectors.

Solution:

Exchange saves configuration information in Configuration Partition of Active Directory so you can use any AD Editor like ADSIEdit.msc or ADExplorer.exe to modify this value. (Be careful while using these raw AD Editors!)

  • Open ADSIEDIT.MSC.
  • Navigate to the following location: CN=SMTP Receive Connectors,CN=Protocols,CN=<ExServerName>,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=<ExOrg Name>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=<DomainName>,CN=Com
  • Right-click one of the Receive Connector which is showing up in error and then click Properties. (It is recommend to modify the Receive Connector created manually and not the “Default FrontendServerName” connector.)

Now change the value of either msExchSmtpReceiveRemoteIPRanges or msExchSmtpReceiveBindings following below setps.

  • Locate the msExchSmtpReceiveRemoteIPRanges attribute. This attribute stores values for Remote Network Settings that you see in EAC.
  • Remove the values here and add some unique IP address or IP Range back.

SMTPbindings

Source

Configure your Exchange 2013 server with Configure-Echange2013.ps1 Updated to V2.7

Updated to V2.7

Change List:
# V1.0 Begin
# V1.1 Added Some New Options 12-10-2014
# V1.2 Added Hyper-V Best Practise & NTFS Partition Offset
# V1.3 Added KB2995145 .NET Framework 4.5 garbage collector heap Fix
# V1.4 Added Set Minimum Disk Space Warning level (180GB Default CU6 200GB CU5)
# V1.5 Added Some new features
# V1.6 Changed the Layout & Add Move Arbitration Mailbox
# V1.7 Added PST Export & KB2990117
# V1.8 Added Full backup, Database in GB and Mailbox Size in GB Export CSV
# V1.9 Added Outlook AnyWhere & SafetyNetHoldTime
# V2.0 Added Check DatacenterActivationMode, Get-DatabaseAvailabilityGroupNetwork, Add Static Route, Disable Replation Network on DAG, Database Copies Per Volume (AutoReseed)
# V2.1 Added Edge Subscription
# V2.2 Added Check Transaction Log Growth
# V2.3 Changed the Menu to Submenu’s
# V2.4 Added Check Database White Space
# V2.5 Added MAPI HTTP External URL & Fixed some things
# V2.6 Fixed OWA Virtual URL & HTTP URL
# V2.7 Added Fixes & Mountpoints & Changed Set Minimum Disk Space Warning Level from REG to GlobalOverride

Added Soon: Remote Exchange Config Smile

Download: https://gallery.technet.microsoft.com/scriptcenter/Configure-Exchange-2013-e0ffb2a6

Outlook slow after migrating to Exchange 2013

Outlook can be slow in Online modus sometimes when you move mailboxes to Exchange 2013. I seems that Windows 7 with Outlook 2007/2010 & 2013 sometimes have some issues.

Before applying this TCP Ack solution, the below conditions must be met:

– OWA connection and mail browsing is very fine, whereas an Outlook online mode (i.e. not cached mode) connectivity is quite sluggish when mailboxes are on Exchange 2013…

– If OWA is slow as well, then the issue may be a general network slowness issue – check the network latency using Ping

– On Outlook Connection Status dialog box (CTRL+Right Click the Outlook icon on the Windows notifications part of the taskbar), Avg. Proc. time is fine, below 50~60ms, and Avg. Resp. time is over 110ms.

More information about the TcpAckFrequency registry key:

Quoting from http://support2.microsoft.com/kb/328890

– TcpAckFrequency is a registry entry that determines the number of TCP acknowledgments (ACKs) that will be outstanding before the delayed ACK timer is ignored.

– TCP uses delayed acknowledgments to reduce the number of packets that are sent on the media (Wifi, Wire,…)

– As data is received by TCP on a particular connection, it sends an acknowledgment back only if one of the following conditions is true:

  • No acknowledgment was sent for the previous segment received.
  • A segment is received, but no other segment arrives within 200 milliseconds for that connection.

Typically, an acknowledgment is sent for every other TCP segment that is received on a connection unless the delayed ACK timer (200 milliseconds) expires.

– You can adjust the delayed ACK timer by editing the following registry entry.

Subkey:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<Interface GUID>

Entry:

TcpAckFrequency

Value Type: REG_DWORD, number
Valid Range: 0-255
Default: 2
Description: Specifies the number of ACKs that will be outstanding before the delayed ACK timer is ignored. Microsoft does not recommend changing the default value without careful study of the environment.

TcpAckFrequency.ps1
$strGUIDS=[array](Get-WmiObject win32_networkadapter -filter “netconnectionstatus = 2” | select -expand GUID)
foreach ($strGUID in $strGUIDS) {New-ItemProperty -path HKLM:\System\CurrentControlSet\services\Tcpip\Parameters\Interfaces\$strGUID -propertytype DWORD -name TcpAckFrequency -value 1}

Updated

KB2888049 Update is available that improves the network performance of Internet Explorer 11 in Windows

Translate »