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
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
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
I needed to get the first 5 bytes of a file using the powershell:
PS D:\> Get-Content "D:\TEST\file.txt" -Encoding byte -TotalCount 5
But for some files the Get-Content command returns the following error "A parameter cannot be found that matches parameter name 'Encoding'"
PS D:\Scripting\CORRUPT> Get-Content "D:\TEST\file.txt" -Encoding byte -TotalCount 5
Get-Content : A parameter
… Read more
Powershell can be very useful to extract data from our systems.
Excel can be very useful to show that data in a friendly way.
Powershell + Excel = Automatic generation of useful reports
These are the basic powershell sentences and functions needed to start generating our Excel reports using Powershell scripts:
Excel COM object
It is neccesary to reference a … Read more
This post shows a Powershell script I use to monitor the status of my Exchange mailbox database copies and raises a critical alert if any of them is not "Mounted" or "Healthy".
The script takes advantage of the Nagios passive checks and the configurations shown on my previous post "Nagios – Using passive checks without agent".
Here is … Read more