I use Powershell to send monitoring results to the Icinga API (passive checks). For example, to check if the Exchange backups were processed correctly, I run a Exchange powershell and then the results are sent using “Invoke-WebRequest” command.
Since I disabled obsolete and insecure TLSv1 and TLSv1.1 protocols in the Exchange server, the script was not working anymore returning error:… Read more
A short but useful post:
Suppose you need to import hundreds of members to a distribution group.
The list is in a CSV file:
To bulk import all the users, a simple command like this is enough:… Read more
Some days ago I tried to cleanup old certificates from my Exchange servers, but I received the following error:
[PS] C:\> Remove-ExchangeCertificate -Thumbprint D09EDD6D5F18C175254AB97046AAAAAAAAAAAAA
Are you sure you want to perform this action?
Remove certificate with thumbprint DD09EDD6D5F18C175254AB97046AAAAAAAAAAAAA from the computer's certificate store?
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is
… Read more
When performing mailbox migrations using the New-MoveRequest, the movement is performed online while the user is using the mailbox without suffering outage until the end.
Only when completing the movement there are some seconds during which the user mailbox is not online.
Thats the reason to use the parameter “SuspendWhenReadyToComplete“. It moves almost all the mailbox except the … Read more
A user asked me the way to grant permissions to other users to access to some of his mailbox folders. And for certain folder only read-only permissions.
Let’s suppose “testuser1” wants to allow accessing some folders to “testuser2”.
Permission configuration (Outlook)
First of all, “testuser2” must have “Reviewer” (read-only) permissions on the mailbox root
Then, configure the permission … Read more
Last week I came across a situation where I needed to copy Active Directory groups (including members) as new groups.
Suppose we want to clone the “SG-Test1” and “SG-Test2” groups
We need two groups (“SG-NewTest1” and “SG-NewTest2”) to be created with the same members included
Using this powershell scripts you can either clone a single group a list … Read more
Maybe you have been interested in configuring a scheduled task on a set of servers of your enviroment. Depending on the quantity it can become a tedious… or a reeeaaaaally tedious process (connect to every server, run "scheduled tasks" console, configure…)
So, as we, sysadmins, usually do… let's make the work easier using scripts…
In this example, the goal is … Read more
This post shows a Powershell script I use to monitor the status of my Lync services.
This state can be manually checked on the Lync console (Lync 2010 in my scenario):
And with the Get-CsWindowsService powershell command:
PS C:\> Get-CsWindowsService
Status Name ActivityLevel
------ ---- -------------
Running RTCSRV Incoming Requests per Second=0,Mess...
Running RTCCAA Concurrent Calls=0
… Read more
Sometimes we need to move the profiles to a new folder, drive… due to space requirements for example.
The usual way is via the graphical interface:
But performing this action for a set of users can take us a lot of time and, as a sysadmin should think, the best way to complete this tasks is to work some … Read more
A recursive functions is a function that makes a call to itself. Recursion is usually used to process tree-like or nested structures with much simpler code than using iterative functions.
This post shows an example in which we need to count the number of files of a folder and each subfolders.
When processed this structure of folders…
…this is the … Read more