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

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

Cumulative Update 8 for Exchange Server 2013

The Exchange team is announcing today the availability of Cumulative Update 8 for Exchange Server 2013. The Cumulative Update Package and UM Language Packsare now available on the Microsoft Download Center. Cumulative Update 8 represents the continuation of our Exchange Server 2013 servicing and builds upon Exchange Server 2013 Cumulative Update 7. The release includes fixes for customer reported issues, minor product enhancements and previously released security bulletins. A complete list of customer reported issues resolved can be found in Knowledge Base Article KB3030080. Customers running any previous release of Exchange Server 2013 can move directly to Cumulative Update 8 today. Customers deploying Exchange Server 2013 for the first time may skip previous releases and start their deployment with Cumulative Update 8 directly.

We would like to call your attention to a few items in particular about the Cumulative Update 8 release:

  • Calendar and Contact Modern Public Folders favorites added in Outlook are now accessible in OWA
  • Batch Migration of Public Folders to 2013 improves migration throughput and PF migration experience
  • Smoother migration for EAS clients to O365 with automatic profile redirect upon successful Hybrid migration to O365 (EAS client must support HTTP 451 redirect)

For the latest information and product announcements please read What’s New in Exchange Server 2013, Release Notes and product documentation available on TechNet.

Cumulative Update 8 includes Exchange related updates to Active Directory schema and configuration. For information on extending schema and configuring the active directory please review the appropriate TechNet documentation. Also, to prevent installation issues you should ensure that the Windows PowerShell Script Execution Policy is set to “Unrestricted” on the server being upgraded or installed. To verify the policy settings, run the Get-ExecutionPolicy cmdlet from PowerShell on the machine being upgraded. If the policies are NOT set to Unrestricted you should use the resolution steps in KB981474 to adjust the settings.

Reminder: Customers in hybrid deployments where Exchange is deployed on-premises and in the cloud, or who are using Exchange Online Archiving (EOA) with their on-premises Exchange deployment are required to deploy the most current (e.g., CU8) or the prior (e.g., CU7) Cumulative Update release.

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

I love Powershell <3.

Configure & maintaining your Exchange 2013 can be a hell… I do the most things with powershell…

I have a lot of standard scripts to configure an Exchange 2013 server or DAG cluster.

So i created a freaky nice script i my say so!! :

Updated to V2.5

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

Save the Script as configure-Exchange2013.ps1

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

MDT Create your own Default Task Sequence

MDT is a greate tool, You can create your own Default Task Sequence for Clients Servers!!

Normal i need to customize every Task Sequence that i create and that is so boring!!

I Create in this example a task sequence (ID & NAME) Server and Changed some things things like Windows Update.

image

So now go to to that Folder \\DeploymentShare\Control\Server
image

Copy the TS.XML

Go to: C:\Program Files\Microsoft Deployment Toolkit\Templates & save the TS.XML File

image

Rename the TS.xml file. I my demo Ward Server Deployment.xml

Edit the Name and the Description:image

image

When you maken now what to make a new Task Sequence, You will see Ward Server Deployment Listed. Freaking Awesome!!

image

Bulk import applicaties in MDT

Mikael Nystrom created i freaking nice script.

Often I need to import applications into the Deployment workbench and that is fine. The process is easy and fast, but it is boring and if you have more then 5 apps it is really boring. Based on the fact that almost all my apps in MDT is deployed using VB or PowerShell wrappers its is just one file in a folder and then there is a subfolder with the content. You don’t need to be a genius to figure out that 90% of all the apps pretty much have the same folder and file structure in the root of the application folder, so why don’t we use PowerShell to import all the apps based on some guessing?

The command line:
This is the tricky part, since there is no way to know that it will be a guessing game and the command line might need to be modified after import, but I rather modify 2-3 applications instead of importing all of them manually.
The default cmdline for all imported apps will be:

.EXE    “$Install /q”
.MSI    “msiexec.exe /i $Install /qn”
.MSU    “wusa.exe $Install /Quiet /NoRestart”
.PS1    “PowerShell.exe -ExecutionPolicy ByPass -File $Install”
.WSF    “cscript.exe $Install”

The Script:
The script is rather easy, it takes 2 parameters. The folder from where to import and the deployment share. You need to have MDT installed since it is using PowerShell cmdlets from MDT. The syntax for the script looks like this:

.\Import-MDTApps.ps1 -ImportFolder d:\APPS -MDTFolder D:\DeploymentShare

image

You can download the script here: http://1drv.ms/1pGTvkA mirror: Import-MDTApps.7z

Public Folder Move Script to Exchange 2013

Move Public Folder script from 2007/2010 to Exchange 2013 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)
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 Exchange 2013
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 the Exchange 2013 server
13) Master Public Folder Name
14) Create Public Folder Mailboxen (Check PFMailboxMap.csv)

Migrating the Public Folders
15) BadItemLimit (Exchange 2007 Only)
16) Migrate Exchange 2010 public folders
17) To verify that the migration started successfully (AutoSuspend is Compleet)

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

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

Test and unlock the public folder migration
20) Add Public Folder to Test User
21) Unlock the public folders for all other users
22) Public Folder Migration Complete (Legacy Exchange Server)
23) Public Folders Enabled Local

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

99) Exit

Download the script here: https://gallery.technet.microsoft.com/scriptcenter/Public-Folder-Move-Script-49126418

Hyper-V Reporting Script

Serhat AKINCI, a Hyper-V MVP, has just posted this very useful script:

https://gallery.technet.microsoft.com/Hyper-V-Reporting-Script-4adaf5d0

In his own words:

It can be difficult to monitor and assess resources in large Hyper-V environments. This PowerShell based script helps you to understand virtualization inventory, capacity and general resource availability in your Standalone or Clustered Hyper-V Environment.

Highlights
  • More than 2600+ lines of PowerShell, HTML and CSS code examples.
  • Creates a plain but detailed and user-friendly HTML report which is compatible with all modern browsers.
  • Provides more detailed information via tooltips in the HTML report. (cells with asterisks and highlights)
  • Checks and installs required runtime environment prerequisites like Hyper-V and Clustering PowerShell.
  • Collects information by using standard Hyper-V and Clustering PowerShell cmdlets and custom WMI queries.
  • Shows alerts in the report for certain situations (utilizations, VM checkpoints, replication status, etc.)
  • Can be used directly from command-line or as a scheduled Windows task.
  • Supports report delivery via e-mail with advanced options. (authentication, TLS/SSL, multiple recipients)
  • Includes a mode that reports only alerts in the Hyper-V environment. (aka Highlights Only mode)
  • Advanced error handling and logging. (Console messages and log file)

You can see an full example report here: http://www.serhatakinci.com/files/get-hypervreport-v1-0-demo-output.html
Open-mouthed smile