In this blog, I will review a script that I wrote to test the different Exchange Client Access (CAS) components.
Since the Exchange Client Access service relies on many different components, it might be difficult to run so many tests with different tools or scripts.
Therefore, I have created a single script which tests most of the CAS core components.

The script includes the following tests:

In this blog, I will review a simple GUI utility based on PowerShell, which simplifies the way to add, check and remove Send As / Send On Behalf / Full Access permissions n user’s mailboxes in Exchange On-Premises / Exchange Online (EXO) environments.

Mailbox permissions review

There are many cases where Exchange Admins or Help Desk managers asked to grant, remove or check mailboxes permissions as part of the organization’s needs.

There are 2 ways to handle mailbox permissions management:

In this blog, I will explain how to use RBAC Manager utility to manage, create and assign the right permissions and roles within Exchange On-Premises and Exchange Online.


Role Based Access Control (RBAC) is the permissions model used since Exchange Server 2013 up to the current versions of Exchange On-Premises and Exchange Online.
RBAC enables you to control, at both broad and granular levels (up to the command level), what administrators and end-users can do.
RBAC also enables you to align the roles more closely you assign users, like allow them to add picture, change their address, distribution groups membership and…

In this blog, I will review a simple GUI utility based on PowerShell, which Automatically connects an Azure VMs via the public IP, even if the public IP is dynamic or changed from some reason.

Especially in test or lab environments where VMs are being built and removed occasionally, public IP addresses get changed and therefore you need to redownload the RDP configuration from Azure portal.

To eliminate the constant RDP configuration download, the RDP utility allows you simply click the VM without knowing the public IP address and connect with username and password that can be saved as an…

TabPages are a great solution when working with Powershell GUI, especially in a case where you would like to have “multiple” actions in one script on one hand, without loading too much information and controls in one place on the other hand.
In this blog, I will review a very simple way to handle a situation where you have already build your TabPages in a specific order, but then you have in mind a new TabPage that forced you to rearrange the TabPages order.

The GUI Form

I built a very basic form to demonstrate the problem and solution of TabPages reordering.


In this blog, I will review a simple PowerShell script, which generates an HTML report for the total emails sent and received per mailbox in Exchange On-Premises.

The report based on a list of mailboxes which should be created first in a simple CSV file, which later on imported by the script.
The time ranges for the total emails sent and received per mailbox at the report can be changed easily, while the default settings are the last 30 days.

The script process:

The first part of the script contains 4 parameters that can be changed inside the script to adjust it to…

As part of a Powershell GUI script that I wrote, I had to dynamically change the content of a listbox, based on a checkbox selection.
In this blog, I will review a sample code that will allow you to do so in the case will need to use this kind of option in one of your scripts.

The GUI Form

The script is very basic and its only propose is to emphasize the main parts of the dynamic checkbox actions inside the script.

The script is very simple and it contains a listbox, checkbox, and a button. …

In this blog, I will review and explain how to fix indexing issues within mailboxes hosted in Exchange 2019 and what are the main changes between indexing in Exchange 2013/2016 vs Exchange 2019.

Exchange 2013/2016 Search/Indexing

Exchange 2013 searching/indexing was based on Search Foundation, while Exchange 2016 was based on FAST search architecture, which was formerly used to index Sharepoint servers.

Both versions based on catalog indexing, which is among other components a folder located in the same folder where the EDB (database file) was.
The catalog folder size was up to 20% size of the actual database size. …

In this blog, I will review the configuration and implementation process of the Desired State Configuration (DSC) automation in Azure in the simplest and easiest way, only 5 steps.

DSC review

DSC is a management platform in PowerShell that enables you to manage your IT and development infrastructure with configuration as code at the on-premises and in Azure.
DSC contains a lot of resources, while each resource has a different capability like registry, service, files, user, computer, WindowsFeature, and many more.
Using these capabilities, you can “Force” a configuration type for all machines with the same target.
For example, you can ensure a specific configuration…

In this blog, I will review a fully automated process using Powershell, that installs and configures 2 Virtual Machines (VMs) as domain controllers in a new forest including DNS services.

The environment:

The script process:

Tzahi Kolber

During the last 13 years, I'm working as a Senior Customer Succes Engineer (former PFE) at Microsoft. My areas of expertise are Exchange, Powershell & Azure.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store