Updated: Enhanced SCOM Alerts Notification Emails script

I have previously posted the Enhanced SCOM Alerts Notification email scripts back in July 2010. I’d like to thank everyone who have tested it and provided feedbacks. You made me aware there are few issues and bugs with the script. Since I have just resigned and my new job won’t start in few weeks time, I have spent the last couple of days updating the script. This is what I’ve done: 1. Removed GetNetbiosName function Few people advised there are often this function running into errors.  I realised I originally wrote this function because one of my previous employers required

PowerShell Function: Validate Subnet Mask

This is a function I wrote couple of days ago for the Windows Build Scripts which I blogged yesterday. I think it is pretty cool so I’d like to blog this function individually: It checks the following: – if subnet mask is in numeric and consists 4 sections separated by “.” – If each section is ranged between 0 and 255 – convert it to binary format and make sure it is a valid subnet mask (first part consists all “1”s and second part consists all “0”s). So here’s the usage: This function can be downloaded HERE

PowerShell: OS Build Script for Windows Server 2008, 2008 R2 and Windows 7

Background: Around 2 years ago, I originally written a set of script to configure newly built Windows 2008 servers using PowerShell when my previous employer started to deploy their very first Windows 2008 server. These set of scripts were the very first scripts I’ve ever written in PowerShell. Over the time, I have updated them many times and now they also support Windows 2008 R2 and Windows 7. You can download the scripts HERE. Purpose: This set of build script is designed to automate the process of building a Windows server (version 2008 and above). It is designed for environments

Mailbox Archive Tool for Microsoft Exchange Servers

This is another GUI tool based on PowerShell I’ve written in the past. A company I worked for needed a tool for Service Desk people to archive users’ mailboxes into PST file. I’m not an Exchange engineer, they told me they used to use ExMerge in Exchange 2003 environment but since upgraded to Exchange 2007,  they were no longer able to do so under a GUI interface because ExMerge was replaced by a PowerShell cmdlet “Export-MailBox”. So I wrote this mailbox archive tool. it basically archives a mailbox into a PST file (with the option to whether delete mailbox after

Balancing Number of SCOM Agent Per Management Server using PowerShell

I came across a situation yesterday in one of the clients SCOM environment: They currently have a single SCOM management group setup as the following: all SCOM management servers (including the root management server) are located on the same segment of the network. internal agents (from the same forest) are reporting to management server #1 and #2. External agents (from different forests) are reporting to management server #3 and #4 through firewall. SCOM is not integrated to AD – Therefore primary and failover management servers are not automatically assigned to agents. I needed to achieve: agents are evenly distributed to

Get Powershell Execution Policy on remote machines

Today I’ve been asked how to inventory PowerShell execution policies on all servers in a domain. I originally thought I can ultilise RemoteIn as PowerShell V2 should be deployed on all servers. then I realised WSMan wasn’t configured on the srevers so I couldn’t use “New-PSSession” cmdlet… Therefore, I wrote a function called Get-RemoteExecutionPolicy.  It retrieves the setting from the remote registry. The usage is: Get-RemoteExecutionPolicy <machine name>.

ENHANCED SCOM Alerts Notification Emails!

17/08/2012: The version 2 of this script has just been released: http://blog.tyang.org/2012/08/16/scom-enhanced-email-notification-script-version-2/ 29/01/2012: The command notification channel setup section of this blog has been updated. More details of the change can be found HERE: http://blog.tyang.org/2012/01/29/command-line-parameters-for-scom-command-notification-channel/ Please Note: This post and associated script has been updated on 30/09/2010. Even though SCOM is a great product, I personally believe that alert notification emails is something that really needs improvements. It is very hard (and almost impossible – according to my standard) to configure a meaningful notification email using the variables SCOM provides. Most of times, the SCOM administrator would include a URL that takes

PowerShell Script: Mass-Mailer

Today a colleague asked me to write a script to send out a email to a large group of people but have the phrase “Dear <person’s name”>” in the beginning of email body. I quickly wrote this script. Here are the steps you need to take before executing it: 1. Zip and place the Mass-Mailer folder somewhere on your computer. There are 3 files in the folder: 2. in Mass-Mailer.ps1 file, modify the highlighted section ( and remove the “<” and “>”brackets): 3. Open recipientsList.txt and enter recipients name and emails, one recipient per line with format Name;Email (i.e. John

How To Write to SCOM Operations Manager Event Log Using PowerShell and MOM.ScriptAPI

The following commands can be executed using the normal PowerShell console. SCOM PowerShell snapin is not required. $momapi = New-Object -comObject "MOM.ScriptAPI" $momapi.LogScriptEvent("test",9999,2,"this is a test")   This is the log:   Detailed documentation of MOM.ScriptAPI can be found on MSDN.

PowerShell Script: Test-SMTP

I wrote this simple script last week to test SMTP server by sending a testing email. Usage: .\Test-SMTP.PS1 -smtp smtp.xxxx.com -port 25 -from test@xxxx.com -to recipient@xxxx.com If the email is successfully, the recipient will receive an email similar to this: The email contains the following information: Originating Computer: Where the script was run from SMTP Server Address: The SMTP server that sent this email SMTP Server Port: default SMTP port is 25 Return (sender) address: This does not have to be a real address Recipient: Where the email is sent to.

%d bloggers like this: