Azure Policies for Restricting Cross-Subscription Private Endpoints
Some SaaS products provide the ability to privately connect the service to your Azure environment using Azure Private Endpoints. In this scenario, often the ...
Some SaaS products provide the ability to privately connect the service to your Azure environment using Azure Private Endpoints. In this scenario, often the ...
In the current customer engagement, we wanted to replace the Microsoft Defender for Cloud recommendation A maximum of 3 owners should be designated for subsc...
Previously, I have published a blog post about Azure Policies for Restricting Service Tag in Network Security Groups. In that post, I shared the policy defin...
Recently Tenable has reported a vulnerability on Azure Network Security Groups (NSG) related to the use of service tags in NSG rules You can read more about ...
Introduction I created the PowerShell module AzPolicyTest (GitHub, PowerShellGallery) back in 2019. This module provides a list of Pester tests can be used t...
Introduction
Using Azure policies to manage the configuration of resources has become a very common practice and there are already many articles covering this topic. When...
Over the last few months, I teamed up with my good friend Jorge Arteiro (@JorgeArteiro) and Ahmad Abdalla(@ahmadkabdalla) from Microsoft Australia and record...
In Azure ARM / Bicep templates, there is a function called guid() which allows you to generate a unique GUID. You can use this function as many times as you ...
Few weeks ago, a colleague made me aware of an issue with the Bicep Template I have developed which creates an Azure Data Factory (ADF). After the ADF was cr...
I needed to create Azure Purview with a Self-Hosted Integration Runtime (SHIR) as part of a Infrastructure as Code (IaC) pipeline. Having previously created ...
Introduction
When checking the Policy Compliance status on Azure Portal, if you click on an policy assignment for a Initiative, you may have noticed some of the policy in...
In a recent engagement, we had to provision several Linux VMs in customer’s Azure environment. The customer has blocked access to all public package reposito...
Azure Private Link allows you to access Azure PaaS services over a private endpoint in in your virtual network. To make your Azure PaaS resources accessible ...
Yesterday I published a policy definition to restrict Event Hub public network access. After reading my blog post, my friend and colleague Ahmad Abdalla told...
Introduction
Azure Event Hub Namespace has added support for 2 additional properties in the latest API version 2022-01-01-preview:
In my current project, we have a requirement that all Private Endpoint (PE) connections must use static IP addresses. All Private Endpoint IP addresses must ...
When comes into security, a general rule of thumb is to ALWAYS use the least privilege principle when assigning permissions. I rarely come across customers t...
Although I’m a big fan of Microsoft CARML Bicep module repo, and have used many of their modules in my projects, Sometimes I still prefer using the modules I...
I created a new Azure Policy definition today to audit storage accounts that do not have lifecycle management rules.
This is the part 2 of the 2-part series on Programmatically Generate Cloud Resource Names.
Many organizations have naming standard for cloud resources just like server naming conventions for on-premises data centers.
In a previous engagement, we had requirements to control ARM API versions used to create / update Azure resources. To address these requirements, I have deve...
I haven’t revisited the Resource Diagnostics Settings policy definitions since October 2020. A lot has changed since then. An update is long-overdue.
I wrote an Azure Policy definition today to audit or deny VMs that are not using customer-managed storage accounts for Boot Diagnostics. The default policy e...
PSRule is a test and validation tool that can be used to test your Infrastructure as Code (IaC). It works with various supplement modules for different platf...
Today I had a requirement to protect a Git branch in an Azure DevOps repo that only allow merging from a specific source branch. i.e. An archive branch must ...
Few years ago, I published 2 PowerShell modules:
Few years ago, I published a solution to create Azure Management Group hierarchy using a PowerShell script and Azure Pipeline. Back then, I couldn’t configur...
Few months ago, I had a requirement to produce a process to document Network Security Group (NSG) rules. Using Azure Resource Graph seemed like a logical cho...
I have just finished a very lengthy engagement, where I had been working exclusively on Terraform. The customer uses only Terraform to deploy resources to Az...
My blog has been very quiet lately. Other than the obvious reason that I have been really busy at work, It’s also because over the last 14 months, I have bee...
Well, it’s the long Easter weekend and I have done something different today - I created my first cooking video! In this video I demonstrated how to cook my ...
Firstly, apologies for not been too active in writing blog posts lately because I have been really busy with my current project.
AzureTar is a YouTube Channel focuses on all aspect of Azure. It’s hosted by Jorge Arteiro (@JorgeArteiro) and Fernando Rolnik (@FernandoRolnik).
You might wonder why does my blog look different now. This is because I have just moved it from a self-hosted WordPress site to GitHub Pages (running Jekyll)...
Last month, I released some updates to the Azure Policy definitions for Diagnostics Settings. After that update, there was a requirement for me to revisit an...
Over the last couple years, I’ve been maintaining a set of custom Azure Policy Definitions for deploying Diagnostic Settings for applicable Azure services. Y...
Syncing data between on-prem locations and public cloud has become a very common practice for many organisations, and sometimes even for home users. I have s...
Last weekend, I was invited to record a video on my friend Jorge Arteiro’s YouTube Channel AzureTar. In this video, I have demonstrated some POC code I was w...
This week, on July 23rd (US time), we had a one-day 17-hour free online event Inside Azure Management Virtual Summit. I have teamed up with my buddy Alex Ver...
The Inside Azure Management book v4 has been officially released few weeks ago. In case you haven’t got it, you can either download for free, or purchase a k...
Recently, GitHub has released an open-sourced tool called Super Linter (Blog, Repo). It’s basically a swiss army knife of linters for a collection of languag...
I’ve just pushed a small update to my old OMSDataInection PowerShell module. This module is designed to send custom logs to a Log Analytics workspace via its...
I recently blogged my home office setup. When we bought the house, there is a TV wall mount already installed in my office, right above where I put the ellip...
The ARM template deployment What-if API was firstly announced to the general public at Ignite last year. It has finally been made available for public previe...
Few years ago, few of us started a book authoring project for then-called Microsoft Operations Management Suite (OMS). Since the technology is constantly evo...
Introduction
The new Modify effect for Azure Policy was introduced few months ago. I was really excited about this new addition, but unfortunately I haven’t had time to w...
I’m currently working on a Puppet Module for Windows Server. This module needs to detect which public cloud platform is the Windows server running on. More s...
Next week, I will attend the Microsoft Ignite the Tour in Sydney and present a session on Azure Monitor and Azure Pipelines with fellow Azure MVP Alex Verkin...
I firstly published a set of policy definitions for configuring Azure resource diagnostics settings last year. You can find the original post here: https://b...
I have been asked to contribute to the 100 Days of IaC in Azure project started by Ryan Irujo (@reirujo) and Pete Zerger (@pzerger). I accepted the invitatio...
Good news! OpsMgr Self Maintenance MP v3.1 is now available from cookdown.com https://cookdown.com/scom-essentials/self-maintenance/
Previously, I have published a 3-part blog series on deploying Azure Policy Definitions via Azure DevOps (Part 1, Part 2, Part 3). It covered one aspect of i...
Recently, I have been asked to contribute to Microsoft’s ITOps Talk blog. My first article “How to Create Azure Monitor Alerts for Non-Compliant Azure Polici...
Although custom RBAC roles can be deployed using subscription-level ARM templates, they are actually tenant level resources. When you deploy a custom RBAC ro...
I wrote a runbook a while back to export data from Azure Log Analytics workspaces using it’s search API https://dev.loganalytics.io/documentation/Using-the-A...
Few months ago, I published a set of Azure Policy definitions to configure Azure resources diagnostic settings. You can find the original post here: https://...
Microsoft provides a built-in Azure Policy definition for deploying Windows Defender VM Extension. The name of this policy definition is Deploy default Micro...
I wrote an Azure Policy definition few days ago, it deploys VM shutdown schedule together with VMs using deployIfNotExists effect. You can find it at my Azur...
This is the 3rd and final installment of the 3-part blog series. You can find the other parts here:
This is the 2nd installment of the 3-part blog series. You can find the other parts here:
Background
I have created a public GitHub repo to store and share resources I created around Azure Resource Graph:
Squared Up should not be a stranger for any seasoned SCOM administrators. For me, it is absolutely my favourite ISV when it comes to SCOM. Recently, at Exper...
I have been pretty busy over the last few months, largely because I was working on the new book titled Inside Azure Management with few MVP friends. We have ...
I found myself and friends are constantly looking for high resolution icons for various Azure products when working on design documents, presentation slide d...
If you are monitoring your Office 365 services in SCOM, you probably already know how bad the Microsoft Office 365 MP is. In my opinion, it is one of the wor...
It’s been a while since my last post. Other than the 2-week holiday I had in China around Christmas and New Year period, I spent most of my December and Janu...
In an Azure Policy definition, the “effect” section defines the behaviour of the policy if defined conditions are met. For example, the “Deny” effect will bl...
This is the 3rd part of the blog series. I have covered my home network setup using Ubiquiti Unifi devices in part 1, and Xiaomi home automation products in ...
Azure Blueprints have been announced and made available for public preview last month at Microsoft Ignite 2018. I have been on the private preview for few mo...
This is the 2nd part of the blog series. I have covered my home network setup using Ubiquiti Unifi devices in part 1, you can find it here. In this part, I w...
Over the last month, I have published 8 blog posts. Right now, although I still have few more on my to-do list, I’m just a bit over it. I want to write somet...
Back in the Jan 2018, I posted a custom Azure Policy definition that restricts the creation of public-facing storage account – in another word, if the storag...
Few weeks ago, I saw a two separate discussions in different closed community channels regarding to the Source Control option in Azure Automation accounts, m...
It’s been 2 weeks since my last post, I was half way through my list (of blogs to be written), then Melbourne was hit by a big cold wave, I got sick for over...
Towards the end of last year, in order to solve a specific issue, we were planning to introduce Azure Automation Hybrid Workers to the customer I was working...
Few weeks ago, the customer I was working for has a requirement that all the PowerShell scripts and in-house written modules must be validated against PSScri...
I wrote this policy definition for a customer few weeks ago – to restrict VMs from connecting to particular subnets. The customer has several subnets that sh...
It has been a while since my last blog post. There were a lot going on outside of work, I couldn’t find time to write, and my blog to-do list is getting long...
Recently, Kristian Nese from Microsoft published a sample subscription level ARM template that deploys Azure Policy definition and assignment on his GitHub r...
I have been in the private preview for Project Honolulu (now called Windows Admin Center) for quite long time before it became GA and I am a big fan of it. I...
I developed the OpsMgrExnteded module back in 2015 and it was freely available from my company’s website. I also wrote a 18-post blog series on Automating Op...
The Azure Policy is a great tool to manage your standards and policies within your Azure subscriptions. In addition to the built-in policies from the Azure P...
Well, this post has such a long title – but I’ve tried my best. It is based on an idea I had – We all have many “Health Check” PowerShell scripts in our coll...
In my last post, I demonstrated how to generate Azure AD oAuth tokens using my AzureServicePrincipalAccount PowerShell module.
Recently in a project that I’m currently working on, myself and other colleagues have been spending a lot of time dealing with Azure AD oAuth tokens when dev...
Azure Resource Providers registration dictates what types of resources you allow users to provision within your Azure subscription. Although by default, some...
If you have worked on ARM templates, you have probably already faced challenges when you need to use GUIDs within the templates. Currently there are several ...
It has been a long time since my last post. I was very busy right until the Christmas eve, and it my to-be-blogged list is getting longer and longer. I had a...
Savision and NiCE are getting together and delivering a webinar on Office 365 monitoring and dashboard next week. The webinar is taking place on Wednesday 13...
One of the big challenges when working with OpsMgr is finding all the good community management packs. Although Microsoft has provided a “Partner Solutions” ...
Currently Microsoft is in the process of upgrading all OMS Log Analytics workspaces to the new query language (named Kusto). Once your workspace has been upg...
I needed to find a way to restrict ALL Azure Service Manager (ASM, aka Classic) resources on the subscription level. Azure Resource Policy seems to be a logi...
I’m currently working on a project where there has been a lot of discussion on how to use Azure AD Service Principals in Azure Automation and other solutions...
I have updated the AzureTableEntity PowerShell module few days ago. The latest version is 1.0.3.0 and it is published at:
Introduction Lately I have been playing with VSTS and its CI/CD capabilities. Since I have been writing a lot of PowerShell modules and I’m using GitHub and ...
Few days ago, the Inside OMS Book version 2 has been released as a free ebook to the TechNet Gallery: http://bit.ly/InsideOMS
Today I pushed the SCOM 2016 agent to my newly installed SharePoint 2016 server via the SCOM console. My SCOM management group is on 2016 RTM UR 3.
Squared Up is releasing a new free management pack that provides several PowerShell related templates that allows SCOM administrators to create the following...
Back in April this year, Pete Zerger (@pzerger) and I delivered two sessions in Experts Live Australia. One of which is titled “Cloud Automation Overview”. D...
Recently when I was writing an Azure Automation PowerShell runbook, I had an requirement that I need to make sure there should be only one job running at any...
In Azure Automation, you can create a webhook for a runbook and target it to a Hybrid Worker group (as opposed to run on Azure). In the Azure portal, it is p...
When making Azure Resource Manager REST API calls, you will firstly need to obtain an Azure AD authorization token and use it to construct the authorization ...
It has been 7 years since I started blogging here. As the technology progresses, I have changed the theme and the blog title few times to make sure it is sti...
I’ve just released SharePointSDK module version 2.1.5 with a minor bug fix within the New-SPListDateTimeField function. In the old versions, the New-SPListDa...
When working with REST APIs, Postman (https://getpostman.com) is a popular tool that needs no further introductions. This week, I’ve been pretty busy working...
When performing OMS log search programmatically, you will encounter an API limitation that will prevent you from getting all the logs from the result set. Cu...
Over the last few months, Stan, Pete, Anders and I have been very busy with writing the version 2 of the Inside Microsoft Operations Management Suite book. A...
Over the last few weeks, it occurred to me twice that I had to change my original design of the automation solutions I was working on because of the limitati...
PowerShell Gallery has a very cool feature that allows you to import modules directly to your Azure Automation Account using the “Deploy to Azure Automation”...
I have been refreshing my lab servers to Windows Server 2016. I’m using the Non GUI version (Server Core) wherever is possible.
I have been blogging for six and half years and to this moment, I’m still enjoying it. Few months ago my better half has decided to start blogging as well. A...
Few days ago I found a bug in the cPowerShellPackageManagement DSC resource module that was caused by the previous update v1.0.0.1.
Microsoft’s PFE Wei Hao Lim has published an awesome blog post that maps OpsMgr ACS reports to OMS search queries (https://blogs.msdn.microsoft.com/wei_out_t...
The OMSDataInjection module was only updated to v1.1.1 less than 2 weeks ago. I had to update it again to reflect the cater for the changes in the OMS HTTP ...
Back in September this year, I published a PowerShell DSC resource called cPowerSHellPackageManagement. This DSC resource allows you to manage PowerShell rep...
Currently in OMS, there are 3 assessment solutions for various Microsoft products. They are:
Over the last few days, I had an requirement injecting events from .evtx files into OMS Log Analytics. A typical .evtx file that I need to process contains o...
I’ve updated the OMSDataInjection PowerShell module to version 1.1.1. I have added support for bulk insert into OMS.
Last month, I presented at the Melbourne Microsoft Cloud and Datacenter Meetup on the topic “Developing Your OWN OMS Solutions” (https://www.meetup.com/Melbo...
Over the last few weeks, I’ve been working with my MVP buddy Alex Verkinderen (@AlexVerkinderen) on some Azure Function related stuff. We have both written f...
09/10/2016 - Note: This post has been updated as per David O’Brien’s suggestion .
Like many other fellow MVPs, I have started playing with Azure Functions over the last few weeks. Although Azure Functions are primarily designed for develop...
Squared Up is set to release the version 3 of their dashboard next week at Ignite North America. One of the key features in the v3 release is called the "Vis...
There are few ways to add PowerShell modules to Azure Automation accounts:
I’ve been playing with the OMS Network Performance Monitor (NPM) today. Earlier today, I’ve released an OpsMgr MP that contains tasks to configure MMA agent ...
OMS Network Performance Monitor (NPM) has made to public preview few weeks ago. Unlike other OMS solutions, for NPM, additional configuration is required on ...
Introduction
Few weeks ago, the OMS product team has made a very nice change for the Near Real Time (NRT) Performance data – the data aggregation has been removed! I’ve b...
Earlier this week, Microsoft has release a new feature in System Center Configuration Manager 1606 called OMS Connector:
when working on a dashboard or a portal, sometimes it is good that the portal is more interactive. I often found it’s more useful then just a static widget. ...
over the last few weeks, I have been working on a project related to Azure SQL Database. One of the requirements was to be able to programmatically calculate...
OK, this blog has been very quiet recently. Due to some work related requirements, I had to pass few Microsoft exams. so I have spent most of my time over th...
If you are a regular visitor of this blog, you may have noticed that this blog has been down since last Thursday, and I’ve only been able to get it back onli...
I’m teaming up with Infront Consulting, Australia and will deliver a 4-day in-person instructor-led SCOM 2012 bootcamp at Melbourne, Australia. The content o...
Last night, I conducted 2 webinars with Richard Benwell of Squared Up on MP Authoring. I recorded both sessions from my computer using Camtasia, and now the ...
Few days ago, I published a PowerShell Module to be used on Azure Automation Hybrid Workers called HybridWorkerToolkit. You can find my blog article HERE.
OK, it’s Friday night, I feel like writing something on this blog. But after couple of glasses of wine, and I don’t really want to write anything technical t...
Last week, I have conducted a workshop with Richard Benwell from Squared Up to a group of Squared Up’s customers at an internal company event. In the worksho...
23/04/2016 Update: released version 1.0.3 to GitHub and PowerShell gallery. New additions documented in this blog post.
Last Saturday, I presented the topic of “What’s New in OMS” at the Global Azure Boot Camp 2016 Melbourne event. I have recorded it using Camtasia and uploade...
Some time last year, when my good friend and fellow CDM MVP Pete Zerger (@pzerger) asked myself and another good friend & fellow CDM MVP Stanislav Zhely...
Over the last few days, I had the privilege to review and test a new component of the OMS family called “OMS Log Analytics Forwarder”. Since this component h...
Just over a month ago, I have blogged and presented a webcast comparing the OpsLogix Capacity Report Management Pack and the OMS Capacity solution. Since the...
Introduction
Over the last couple of days, I have spent sometime with OpsLogix ProView. The OpsLogix ProView is a product that could be a good alternative for the old Op...
Recently, I have had chance to evaluate the OpsLogix VMware management pack. In this post, I will discuss my experience with this MP so far.
Introduction
As a follow up to my recent blog post Capacity Planning – OMS Vs. OpsLogix Capacity Reports MP, I will be teaming up with the OpsLogix team and deliver a web...
Introduction
Earlier this week, I have presented for a webinar hosted by WMUG NL (Windows Management User Group Netherlands). The topic is Introduction to OMS Alerting. T...
I am going to speak at 2 community events in January 2016.
This is my first post in 2016, so happy new year everyone! Over the last few months, I have been a bit quiet on this blog, because I was involved in a book p...
Couple of weeks ago, I published a post titled OMS Alerting Walkthrough. I mentioned in the post that I have written a test runbook called Test-OMSAlertRemed...
Few weeks ago, the Squared Up folks sent me the preview bits for version 2.3. I haven’t had time to play with it until today.
Introduction
Things have been pretty busy for me recently. Over the last month, I have attended Microsoft Ignite Australia and co-presented a session on Azure Automation,...
Often when you are playing with security related products, you would need to create dummy/fake viruses on your computers. The most common way to do this is t...
Today I was writing a PowerShell runbook (let’s call it Runbook A) that’s designed to run on on-prem hybrid workers. At the end of Runbook A, I needed to kic...
Nowadays, OMS / Azure Automation is full of surprises. almost every time I visit the OMS and Azure Automation portals, I’d notice new features being made ava...
Last week, I had an opportunity teamed up with the legendary CDM MVP Pete Zerger (@pzerger) and delivered a session on Azure Automation at Microsoft Ignite A...
Next week, I will team up with my fellow Cloud and Datacenter MVP Daniel Mar from Infront Consulting Australia and deliver 2 free Microsoft Operations Manage...
My friend and fellow CDM MVP Pete Zerger just pinged me and told me he just spotted that Azure Automation webhooks now support targeting Hybrid Workers.
I have recently published 2 PowerShell modules that I’ve written around a year ago on GitHub and PowerShell Gallery:
Microsoft Ignite Australia is going to take place in Gold Coast, QLD between 17 – 20 November 2015. I am really honoured to co-present a session with the leg...
Introduction
Few weeks ago, I presented a session on Top Community Resources for SCOM and OMS for Squared Up’s UK community workshop (https://blog.tyang.org/2015/10/05/to...
Last Friday, as part of the Squared Up UK community workshop, I have presented my recommended resources for SCOM and OMS. I have covered may blogs, sites, ma...
For those who’s been using Squared Up dashboards for your OpsMgr environments, you’d probably know that currently Squared Up does not have a plug-in for OpsM...
I haven’t been able to use OpsMgr email notifications in my lab since the beginning, because I do not have an on-prem Exchange server (nor that I want to). I...
Last night, someone left a comment on the my post for the OpsMgr Self Maintenance MP V2.5.0.0 and advised a configuration in the Data Warehouse staging table...
26/10/2015 Update: It has been identified the unsealed override MP was not included in the download, and also there was a small error in “Known Issue” sectio...
Update: 09/09/2015: I found a small error in the demo MP provided at the end of this post, where one of the perf collection rules had an extra condition dete...
I have just created 2 alert console tasks in OpsMgr for Squared Up:
Recently when I was working with Stanislav Zhelyazkov on the OMSSearch module, Stan discovered an issue where the module connection type does not get updated...
Before I started working for Squared Up, the very first project we talked about was producing Bing Maps dashboard in Squared Up.
Over the last few days, I’ve been playing with the OMSSearch PowerShell / SMA / Azure Automation Module my friend and fellow SCCDM MVP Stanislav Zhelyazkov h...
In the recently released Inside System Center Podcast Episode 2: Dashboarding, I have demonstrated few Visio map dashboards in Squared Up.
Last week, Pete Zerger, Lee Berg, Cameron Fuller and myself got together and recorded the second episode for the new Inside System Center Podcast series. The...
Time flies. It has been one year since I firstly became a MVP in System Center Cloud and Datacenter Management. Last night, I have received the most importan...
Since I published the OpsMgr 2012 Data Warehouse Health Check Script last week, the responses I have received from the community have been overwhelming!
Note (19/06/2015): This script has been updated to version 1.1. You can find the details of version 1.1 here: https://blog.tyang.org/2015/06/19/opsmgr-2012-d...
For those who are actively engaged in Microsoft System Center and Azure community may already aware that there is a global Azure Bootcamp event taking place ...
Recently, I have been involved in many conversations in regards to managing multiple SCOM management groups with other SCCDM MVP colleagues. I am planning to...
Often when working in OpsMgr, we need to find the ID of a monitoring object. For example, in the recent Squared Up Dashboard version 2.0 Customer Preview we...
Thanks to Silect’s generosity, I have been given a NFR (Not For Resell) license for the MP Studio to be used in my lab last November. When I received the lic...
Over the last few months, there have been few occasions that I needed to develop PowerShell scripts needed to leverage SDK DLLs from various products such as...
On next Friday (30th Jan, 2015), I will be speaking at the Microsoft MVP Community Camp Day in Melbourne. I am pretty excited about this event as this is go...
OK, the title of this blog is pretty long, but please let me explain what I’m trying to do here. In OpsMgr, it’s quite common to create an instance group whi...
Hello and Happy New year. You are reading my first post in 2015! This is going to a quick post, something I did this week.
It is one day away from the holiday season of the year. And I have worked HARD over the last few days so I can post my last technical post for the year 2014 ...
In the 2 most recent post, I have blogged my experience setting up a Microsoft OpsMgr MP catalog using SharePoint and SMA. I managed to produce 2 versions: ...
Background
Background
Over the last couple of days, I’ve spent sometime on Azure Automation (SMA in Azure). The first thing I did was imported and configured the SendEmail and Sen...
I needed to build a 2-node VMM 2012 R2 cluster in my lab in order to test an OpsMgr management pack that I’m working on. I was having difficulties getting it...
Nowadays, Visual Studio is definitely one of my top 5 most-used applications. I have also started using Visual Studio Online to store source codes few months...
Over the last couple of days, I have written few additional functions in the OpsMgrSDK PowerShell / SMA module that I’ve been working on over the last few mo...
Background [System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.EnterpriseManagement.OperationsManager.Common”) Out-Null ...
I’ve setup 2 servers for the SMA environment in my lab a while back. Yesterday, I loaded the SMA MP (version 7.2.89.0) into my OpsMgr management group. Needl...
4th October, 2014: This MP has been updated to Version 1.2.0.0. Please download the latest version from this page: https://blog.tyang.org/2014/10/04/updated-...
This blog has been a bit quiet lately. This is because I have been very busy, and it’s just all the things I’ve been working on have not been eventuated yet....
After my previous post on how to create a performance view using SquaredUp, the founder of SquaredUp, Richard Benwell told me that I can also use “&embed...
I’m a big fan of SquaredUp Dashboard. I have implemented it for my current “day-time” employer Coles over a year ago on their OpsMgr 2007 environments and we...
Background Often when I’m working in my lab, I get frustrated because the code in PowerShell profiles varies between different computers and user accounts. A...
I have kept the same theme on this WordPress blog since day 1. It has been 4 years and I started getting sick of it. Especially that picture of an old iPhone...
I bought my Surface Pro 2 last November – third week after it was released in Australia. I only got it on the third week because I was on holidays in China w...
PowerShell Grid widget and PowerShell Web Browser Widget were released as part of OpsMgr 2012 SP1 UR6 and R2 UR2. To me, these two widgets have opened a wind...
With the recent release of OpsMgr 2012 SP1 UR6 and R2 UR2, number of new dashboard widgets have been made available. The PowerShell Grid Widget and PowerShel...
Previously, I blogged my opinion on using external knowledge base for OpsMgr. In that article, I mentioned a SharePoint 2013 Wiki solution developed by Stefa...
Summary I’ve been wanting to write a post on this topic for a while. Using an external knowledge base for OpsMgr is not something new. Many people have alrea...
Last night, I got an email from Microsoft and I have received the MVP Award for System Center Cloud and Datacenter Management. I’m so excited and honoured th...
This blog has been a bit quiet lately because of 2 reasons: FIFA World Cup and I’ve been updating the OpsMgr 2012 Self Maintenance MP.
Tim McFadden has just released the SCOM 2012 Maintenance Mode Scheduler Version 3.
Few days ago I posted an OpsMgr 2012 dashboard using Google Maps. After it’s been posted, I noticed there is a minor issue with the dashboard.
I recently implemented OpsMgr 2012 Alert Update Connector in the new OpsMgr 2012 environments that I’m building. I have previously blogged my way of generati...
Last night, while I was working on my newly created Google Map Dashboard in OpsMgr, I kept getting script errors from the PowerShell Web Browser widget used ...
I am really excited about the 2 new PowerShell dashboard widget released in OpsMgr 2012 R2 UR2. PowerShell has always been my favourite scripting language, s...
I’ve been working on a SCOM management pack during my spare time over the last couple of weeks. This management pack provides some basic monitoring for the S...
I have my Surface Pro 2 being monitored by the OpsMgr management group in my lab. Today I noticed it has been discovered as a virtual machine in OpsMgr:
A while ago I extracted the icons from each System Center 2012 R2 products so I can use them in various Visio diagrams, PowerPoint presentations and Word doc...
I’m currently working on a management pack that I’m hoping to be released to public very soon. In one of the workflows in the MP, I got an error logged in th...
In System Center Configuration Manager, there is an option “Disable Operations manager alerts while this program runs” in the program within a package:
It’s very common for OpsMgr administrators to create instance groups contain windows computer objects and the health service watcher objects for these comput...
Back in August / September last year, I spent sometime designed a set of Orchestrator runbooks to migrate Window Server 2008 R2 Hyper-V clusters to Windows S...
This is my second post today. Bad weather, both wife and daughter have got flu. So I’m sitting home catching up with blogs… [System.Reflectio...
My home lab consists of 3 PCs running Hyper-V and a HP Proliant Microserver N54L running SCVMM. I have previously blogged the lab setup in a 2-part blog post...
Few days ago I wrote a PowerShell module that contains 1 cmdlet / function to resize the PowerShell console windows.
I’m currently working on a solution that relies on PowerShell Web Access (Hopefully I can finish tonight and blog it in next couple of days).
Few days ago while I was in the OpsMgr 2012 console, I realised that all 3 SQL clusters hosting my OpsMgr Ops DBs are not discovered by MS SQL management pac...
This Monday, I was configuring monitoring for all our System Center 2012 servers as per our Windows support team’s requirement. Since all the virtual machine...
Often when developing an OpsMgr management pack for server class applications, we need to be cluster-aware. Sometimes workflows don’t need to run on a cluste...
I have been dealing this the Fujitsu PRIMERGY Server MP from Fujitsu ever since I started working for my current employer about 2.5 years ago. We found many ...
Time flies, I can’t believe it’s been over 7 months since I posted the beta version of the ConfigMgr 2012 client MP for testing. I haven’t forgotten about th...
I was trying to configure single sign-on for the OpsMgr 2012 Web Consoles so dashboard users don’t need to enter credentials on shared display screens. I spe...
I have been extremely busy lately. Although I had few new ideas for the OpsMgr 2012 Self Maintenance MP for a while, I couldn’t find time to update it. This ...
One thing I really don’t like about SCUP 2011 is, the settings are user specific, which means different users will have to manually configure SCUP settings o...
Couple of weeks ago, we had to completely rebuild a SQL server hosting OpsMgr 2012 R2 Data Warehouse DB (reinstall OS, SQL, etc). After I restored the Operat...
Creating a data source to for the OpsMgr Operational DB is a very common practice. This is required for many 3rd party OpsMgr reports. Kevin Holman blogged t...
This is the 2nd part of 2-part blog series. Part 1 can be found HERE.
By reading the title of this article, you may think, this practice is so common, is it worth blogging? Before I started this task, I thought it should be a q...
27/01/2014 Update:
To Check if WinRM has been enabled on a Remote machine: [system.convert]::ToBoolean(((winrm get winrm/config/winrs -r:$remotemachine ?{...
While I was working on the recently published ConfigMgr 2012 Client MP in VSAE, I needed to add few images as icons for the ConfigMgr 2012 Client class that ...
I’ve written a OpsMgr management pack to monitor ConfigMgr 2007 clients in the past. The MP was published in this blog. Over the last month or so, as part of...
I wrote this simple management pack couple of weeks ago to detect new SMB (Shared Folders) connection as well as disconnection events on OpsMgr agents.
OpsMgr 2012 Sp1 Update Rollup 3 has been released for about a month now. Today I had some time after dinner so I thought it’s time for me to get my lab envir...
Today I had to create a report in ConfigMgr to list total number of packages that have been assigned to each Distribution Point. The SQL query is rather simp...
I’ve updated the OpsMgr Self Maintenance MP for OpsMgr 2012 again this weekend. the latest version is now 2.1.0.0.
I have published the OpsMgr Self Maintenance Management Pack Version 1.0 on this blog few months ago. Over the last couple of month, I’ve been working on the...
Not sure if this issue has been blogged before. Yesterday, while I was working on a management pack project, I noticed that if I created a new VBScript file ...
If you have been to my blog before, you probably own or at least know what a TechNet subscription is. And you probably have heard about that Microsoft recent...
When writing management packs for an application / system, it is very common to have multiple management packs included in the end monitoring solution. i.e. ...
At work, in one of the OpsMgr 2007 management groups, we have 3 sets of Australian state / territory based computer groups. Let’s say they are App-A, App-B, ...
As part of what I’m working on at the moment, I need to find out when the OpsMgr 2012 management group was initially installed using PowerShell (the installa...
Yesterday, I completed the last exam: 70-247: Configuring and Deploying a Private Cloud with System Center 2012. With all the previous exams that I took over...
I was planning to continue on my 70-247 exam preparation tonight, but I couldn’t launch VMM 2012 console from any computers in my lab. So things didn’t turn ...
I’m not having any luck with computers lately. This is why all my recent posts are related to my troubleshooting experience.
In the last few days, I’ve been going through the labs from Microsoft’s course 10750A: Monitoring and Operating a Private Cloud with System Center 2012. As p...
I was thinking about how I can make my study room quieter and cooler as I had 4 desktop machines under my desks. The VMM server in my lab was running on a ve...
Last week, I’ve posted a solution for OpsMgr alerts push notification to Android devices, which was inspired by Stefan Stranger’s post for push notification ...
Background Few days ago, I posted an article: OpsMgr Alerts Push Notification to Android Devices. In my lab, I have created a subscription to notify me all n...
Update 07 April 2013: I’ve updated this script again to support iOS devices and removed the requirements for PowerShell version 3. The updated script can be ...
I got an email from someone up in Sweden the other day in regards to the Weather Monitoring MP that I released few months ago. I’ve been made aware that a ne...
Today I needed to change some parameters in a linked performance report in one of the OpsMgr 2007 R2 management groups at work. When I opened the report prop...
Previously I’ve blogged my experience in migrating from OpsMgr 2012 RTM to SP1 which involved moving all databases to a new database server running SQL 2012....
We’ve all been waited for so long for this book:
Don’t you hate it when you’ve just released a piece of work to public and you found an issue with it? Well, this is what happened to me today. Yesterday and ...
Today I needed to retrieve information about SCOM 2012 resource pools in a PowerShell script, I needed to do this directly via SDK, rather than using the Ope...
Recently I’ve moved databases for my lab SCOM 2012 management group to a new SQL 2012 server as part of of my RTM to SP1 migration.
Over the last week, I’ve been re-installing my SCCM lab environment to SCCM 2012 SP1. I’m using Windows Server 2012 as the base OS for all site system roles ...
Over the Christmas / New Year break, I spent some time to upgrade the OpsMgr 2012 RTM environment in my test lab to SP1. Since System Center 2012 SP1 fully s...
I got a message from a LinkedIn Powershell group in regards to the SCOM Group Maintenance Mode PowerShell script that I’ve posted couple of weeks ago in this...
Around 8-9 months ago, a friend of mine gave me a copy of beta version of trainer’s handbooks for Microsoft course 10747A (Administering SCCM 2012) and 10748...
Update - 07, Dec, 2012: the script in this post has been updated to address 2 bugs explained here: Bug Fixes for the Group Maintenance Mode Script ...
I ran up an instance of Windows Server 2012 in my test lab last night so I can play with various new features such as IPAM and PowerShell Web Access, etc.
Yesterday, I noticed I get this error when I tried to run some reports in the System Center Central Health Check Reports MP in my home SCOM 2007 R2 environme...
This is the part 2 of my 2-part series on how my home test lab is configured.
Background
Since I released the version 2 of the SCOM Enhanced Email Notification Script last month, I’ve been made aware there are few bugs in the script.
if you search on how to enable SCOM agent proxy for all your SCOM agents using PowerShell, you’ll get lots of posts and scripts that shows you how to do it i...
I’m writing a write action module for a management pack that I’m currently working on. This module contains a PowerShell script that connects to SCOM SDK ser...
Often, IT admins need to workout the first/second/third/fourth Mon/Tue/Wed/Thur/Fri/Sat/Sun of any given month. some good examples are: Prepare themselves ...
Just noticed that on my Windows 8 laptop, the Visual Studio 2012 Express is available in the Microsoft App Store:
Few years ago, I posted the SCOM Enhanced Email Notification Script in this blog and became well adopted by the community. Over the last week or so, I have s...
As we all know, we can see how many concurrent SDK connections have been established on the RMS by looking at the Client Connections counter in OpsMgr SDK Se...
I received an email this morning regarding to the SCCM 2007 Client Management Pack that I wrote few months ago. Someone pointed out it had some issues in the...
Yesterday at work, we were having a chat with George, the team leader of our infrastructure 3rd level support team. George told me since he’s a team leader, ...
Recently I’ve been wanting to setup SCOM notifications in my test environment that can reach me even when I’m not home.. However, I had two problem: I don’t ...
First of all, apologies for not updating this blog for over a months. Life has been pretty busy outside of work. My wife gave birth to our first child a mont...
I have previously blogged using SCOM PowerShell snap-in and SDK client in a PowerShell remote session to avoid maintain a consistent SDK connection to RMS se...
As parts of the PowerShell project that I’m currently working on, with the help with other people’s contribution in various forums and blogs, I have produced...
Often, I use .xml or .ini files to store settings that a PowerShell script uses. When I distribute my scripts to end users, sometimes, I want to make sure us...
Recently, I’ve been working on a utility based on PowerShell scripts using WinForms GUI to perform some SCOM tasks (i.e. create maintenance window, approve m...
Yesterday, while we were reviewing the SCCM (2007 R3) client BITS settings at work, we (my team) have some interesting findings with SCCM client’s BITS setti...
Recently, I’ve been asked twice to produce daily reports involves counting some kind of logs:
I bought a laptop for other family members yesterday, it comes with Windows 7 Home Premium. I needed to change the display language from English to Chinese b...
In my opinion, THE most used utility (other than SCCM console) for any SCCM administrators / engineers would have to be trace32.exe. Back in SMS and SCCM 200...
Since System Center 2012 was RTM’d few days ago, I have started updating / migrating my home environment. After I migrated my 2 Hyper-V servers from VMM 2008...
I ran into an issue today. I have updated a report in a management pack. After I updated the version number, sealed it and imported the updated management pa...
System Center Data Protection Manager is not something I normally play with. Recently, I’ve been dobbed in to troubleshoot an issue with remote sites network...
I received an email today from someone who downloaded my SCCM Health Check Script 3.5. He asked me if I can help to modify the script to only display Site Sy...
Often, SCCM administrators found packages still assigned to distribution points that no longer exist. There are scripts available to remove these “orphaned” ...
I wrote this function as a part of a script that I’m working on. it searches AD for the management point server name for a particular SCCM site:
I just wrote this script to calculate the first and last IP of a subnet based on any given IP (within the subnet) and it’s subnet mask:
I wrote this simple report yesterday to list and search site boundaries:
I have just updated the SCCM Health Check Script to from version 3.3 to 3.5
Few years ago, I wrote the Enhanced SCOM Alert Notification script and I blogged it here.
Recently I’m working on a management pack for a series of apps for a business unit of my employer. There is a large number of processes that I need to monito...
Setting up Performance Collection rules for a particular process is pretty straightforward in SCOM. However, the it has it’s limitations.
When writing a Probe Action Module to run a trigger only PowerShell script and return property bags, Microsoft.Windows.PowerShellPropertyBagTriggerOnlyProbe ...
This is how I configured recovery task to run a batch file:
I wrote this function in the script from my previous post “SCOM MP Authoring Example: Generate alerts based on entries from SQL Database (Part 2 of 2)”. It c...
This is the 2nd part of the 2-part series. Part 1 can be found here.
This is probably going to be a bit too long for one single blog post. I’ll separate this topic into 2 articles: Part 1 includes the background and overview...
I’ve been asked a question on how to bulk update SMTP server addresses in SMTP notification channels using PowerShell.
A colleague came across a problem today. He could run a SCDPM PowerShell script from PowerShell console successfully but could not run it when packaged it in...
There was a requirement at work that people need to be notified when a USB storage device (USB key or portable USB hard disks) is connected or disconnected f...
Download: MOF Extension for OpsMgr Configurations
In SCCM, after removing WMI classes that are no longer required from configuration.mof and sms_def.mof, the inventory data still exists in few places.
I’ve been playing with SCCM mof files this weekend. After I’ve extended configuration.mof and sms_def.mof files to inventory a registry key during hardware i...
Last week, I needed to write a PowerShell script to add iSCSI SAN devices into SCOM 2007 as network devices. I thought the script would be very straight forw...
First of all, apologies for not been able to blog for over a month. I changed jobs. I started my new job 4 weeks ago, with all the things going on, I couldn’...
Not sure if anyone has written this before. I have written this simple script to backup all unsealed management packs.
Last week, in my SCCM test environment, I noticed there are several maintenance windows applied to clients that I had no idea where were they come from.
I wrote this Powershell function today as part of a script I’m working on. It is to get a list of Active Directory domains within an Active Directory forest ...
Last week, someone power cycled one of our secondary site server (also a DP) via the remote management card without shutting down the OS first. At that time,...
This is a report I wrote last week:
Today I started installing SCCM 2012 Beta 2 in my test environment. while I was installing the Central Admin Site, the installation wizard got stuck at “Eval...
Found this article from Technet today:
Starting few weeks ago, In the SCCM environment which I support, all site servers located in one country started generating status messages similar to below ...
Over the last few weeks, I’ve been configuring a brand new SCOM environment at work to monitor the SCCM infrastructure.
I have updated the SCCM Health Check Script again. The latest version is now 3.3.
There are many object types in SCCM that supports folders in the console. Even though the object can be easily located using the search function, often we ne...
Recently I’ve been working on deploying a SCOM environment to monitor SCCM infrastructure.
An old colleague of mine, Dan Kregor has started a new site systemcenterpodcast.com
According to the Configuration Manager 2007 SP2 Management Pack User’s Guide for Operations Manager 2007 R2 and Operations Manager 2007 SP1(for MP version 6....
I wrote 2 PowerShell functions today: Get-IPV4NetworkStartIP and Get-IPV4NetworkEndIP. Input: Network IP address in CIDR notation Format Output: The start or...
I have updated the SCCM Health Check Script that I have originally posted here. Download Version 3.1 Here. Changes: 1. The script can now utilise Powershel...
I recently ran into a problem when writing a PowerShell script to perform DNS Name resolution using .NET class System.Net.DNS (http://msdn.microsoft.com/en-u...
30/01/2012: This script has been updated to version 3.5. Details can be found HERE. The download link on this article has also been updated to version 3.5.
Prerequisite: SQL Management Studio needs to be installed. [System.Reflection.Assembly]::LoadWithPartialName(‘Microsoft.SqlServer.Smo’) ...
I came across an interesting problem today that a function I wrote to return all SCCM primary sites worked at work but did not work at home. the difference b...
Often, I found it’s hard to locate the Collection object in the SCCM console if you only know the Collection ID. Couple of weeks ago I ran into a situation w...
I’m currently running Hyper-V R2 on a machine with 24GB of memory at home. It hosts most of my test machines such as SCCM, SCOM, Exchange, etc. System Center...
On the SCCM Report “License 03B – Computers with a specific license status” (Report ID 350, category Asset Intelligence), the description states there are 5 ...
I came across a situation the other day that on a Windows Server 2008 R2 box, when I created a Scheduled Task to run a Powershell script, it runs OK using “C...
You can run the following on the site server to find out the servers holding each SCCM role:
I haven’t been able to blog lately. I have started my new job as a SCCM specialist. I know this blog is mainly focusing SCCM, SCOM and Powershell and so far ...
I have previously posted the Enhanced SCOM Alerts Notification email scripts back in July 2010.
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 fun...
This is another GUI tool based on PowerShell I’ve written in the past.
I came across a situation yesterday in one of the clients SCOM environment:
In the last couple of weeks, I’ve been refreshing my memory on SCCM since I haven’t worked on it for almost 4 month… Yesterday, I passed Microsoft 70-401 (S...
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 V...
Today I passed Microsoft exam “70-400 Microsoft System Center Operations Manager 2007, Configuring” with a score of 975/1000.
17/08/2012: The version 2 of this script has just been released: https://blog.tyang.org/2012/08/16/scom-enhanced-email-notification-script-version-2/
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 beginnin...
The following commands can be executed using the normal PowerShell console. SCOM PowerShell snapin is not required.
I come across a situation where when i click on the web console URL from a SCOM notification email such as this one: http://<SCOM Web Server>/default.a...
When I connect SCOM console to one of my clients SCOM 2007 R2 environment, under Authoring Pane, if I change the display scope of Monitors or Rules to “View ...
I wrote this simple script last week to test SMTP server by sending a testing email.
Today I wrote this PowerShell script to apply a same set of NTFS permission for a particular user or group to a list of folders. It reads the list of folders...
I’m currently working on a MOM 2005-to-SCOM 2007 migration project for a client. after months of work, we are finally ready to stop MOM service.
I originally posted this script here. It is to audit and inventory all scheduled tasks created for all windows computers under a specific OU in AD.
A Powershell script to assist server BAU team to perform morning check using SCOM…