Azure Function to enable Microsoft Graph API webhook subscriptions to Azure Automation webhooks

Azure Functions is a great new, cheap and easy way to publish simple web services. Functions can be written in multiple languages such as C#, PowerShell or even Batch! You can read more about them here: This Azure Function is based on PowerShell and I have used it in multiple session on conferences such as MMS 2016 (was in a C# version though) and System Center Universe Europe 2016 About the function: When using subscriptions in Microsoft Graph API, you have to Validate your webhook by returning a verification code which Graph API sends to the webhook. Unfortunately Azure [...]

By | 2016-08-24T16:00:48+00:00 August 24th, 2016|Azure|0 Comments

Creating ConfigMgr Servicing Plans with PowerShell

Last week we got a new set of cmdlets for Configuration Manager and now we have the ability to create Servicing Plans with PowerShell. I put together end-to-end example and with this script you can: Create a folder called Software Updates (cant move Device Collections into a folder because Move-CMObject is broken in latest release) Create 5 Device Collections Create Software Updates Deployment Package Download the necessary upgrade package Distribute the package to a Distribution Point Create 5 different Servicing Plans   ############ WINDOWS 10 SERVICING ###############################     Get-CMWindowsServicingPlan     New-CMWindowsServicingPlan #These cmdlets require Configuration Manager 1511 or newer. $DeploymentPackageName [...]

By | 2016-05-23T16:18:15+00:00 May 23rd, 2016|Configuration Manager (SCCM)|0 Comments

PowerShell Script That Creates A Folder And A Shortcut On Your Desktop

Basic example of a script that creates a folder in your Local Disk "C"  and then makes a shortcut on desktop so you have easy access to the folder. First of all, open your powershell as administrator and make sure you are at a place where you are able to create folders such as the C:\ drive. PS C:\WINDOWS\system32> cd .. PS C:\WINDOWS> cd .. PS C:\> And now you are able to run the script! - Copy and paste what is written below [crayon-59c5125ba1afb743736538/] Now that we have tried to create one folder, why not try to create 2 [...]

PowerShell – How to do WMIClass CreateInstance but WITH credentials

Today I was building a script to create system resources in SCCM 2012 and part of the task was to add these resources to a set of collections. The script will use from the SCCM server when finally implemented but for now I was using my laptop for editing and debugging. When I came to the point where I had to create the actual membership rules for the collections I ran into a hurdle that puzzled me. The WMI object I had to create was the SMS_CollectionRuleDirect, which often is done using this simple PowerShell snippet: $ruleClass = [WMICLASS]"\\$($server)\root\sms\site_$($sitecode):SMS_CollectionRuleDirect".CreateInstance() And [...]

PowerShell to the rescue – Clean up direct collection memberships

We where talking to a customer about how to avoid waiting for Active Directory group synchronization to occur and place a device in the correct collections faster than “until the next synchronization”. The main problem with this setup was caused by the fact that they used a group-in-group membership to identify collection memberships and apparently SCCM 2012 don’t include indirect changes to group membership as delta changes (I have not tested this in details yet). So we came up with the idea to just create a direct membership to place the device in the collections instantly to make sure that [...]

By | 2013-03-12T12:31:15+00:00 March 12th, 2013|Configuration Manager (SCCM), Powershell|3 Comments

Operations Manager 2012 Maintenance Mode

  ”How can I schedule maintenance mode in SCOM 2012?” “How can I put a server in maintenance mode without using the Operations Console?” These are fairly common questions from my costumers. A lot of tools was developed to Operations Manager 2007, but not for 2012, hence this blog. Tool: SCOM Remote Maintenance Mode Scheduler 2.0 by Tim McFadden I can’t take any credit for this one, as it was developed by Tim McFadden, but it is the best (only) scheduler I can find. Furthermore, it has an UI, which makes it far easier to put servers or group in [...]

By | 2017-08-22T13:06:40+00:00 February 7th, 2013|Operations Manager (SCOM)|9 Comments

Eject CD script, quarantined by FEP! PowerShell to the rescue!

I guess everyone knows that you can’t enable BitLocker on a machine from a Task Sequence if there is a CD in the CD drive… The workaround is quit simple, just run a script to eject the cd drive before running the “enable BitLocker” step. Well the other day this script, a vbs, I use, was removed by Forefront.. I guess the heuristic scan evaluated the content of the script to be unsafe, and quarantined it.. This is obviously not good, as it’s needed by the task sequence… So I thought, maybe there is a way to eject the CD [...]

By | 2012-03-22T12:25:53+00:00 March 22nd, 2012|General info, OS Deployment, Powershell, Security|3 Comments

Extending OSD progress UI Info in SCCM

While running a task sequence, info on what is happening is shown in the progress UI, well the name of the Task Sequence, and the step that is running anyway!! But what if we could extend that info to let us know other things as well! Turns out that is as easy as typing a little extra text in the Task Sequence editor. Example 1: Let say you are administrating a large environment, doing several OSD tests against a number of MPs, and DPs. Now wouldn’t it be nice if we could actually see where data is picked up, right [...]

Small useful scripts–Changing Driver Package source (PS1)

I have this customer who had to move all driver packages from from one server a another. This of cause meant all the Data Source references had to be change as well. Once al the packages were moved to the new server I ran the following  two scripts to change the source. All you need to change is the $Site to your site code, or add it is a parameter when you run the script. You will obviously also have to type in the old and new path. Syntax: Script.ps1 –Site XXX If you want to only run against one [...]

Enable LENOVO TPM Security Chip (and other stuff) from a TS

  I have some customers who run strictly Lenovo Computers (laptops and Desktops). On a lot of these computers the security Chip has been disabled or is in Inactive mode, thus not allowing the use of Bitlocker. I just finished messing around with activating the TPM Chip in the BIOS From a Task sequence on those LENOVO computers, and once all the minor obstacles were figured out, it turned out to be quiet easy. The first thing I wanted to do was to check if the TPM chis was already Active, and if not, Activate it. This is actually real [...]

By | 2011-08-25T10:23:00+00:00 August 25th, 2011|General info, OS Deployment|19 Comments

Power management trough the TS (No more automatic Sleep!)

  I have a number of customers who wants to set the power settings trough the TS, as opposed to using GPO’s. I guess that makes sense if you want to allow you users to change the settings them self… By default windows 7 will set the following power options: Sleep/standby in 15 min on battery (DC), Sleep/standby in 30 min on Power (AC). Hibernation after 360 min on both AC and DC. Sleep/standby when lid is closed on laptop. Some of my customers do not want their machines to sleep or hibernate, unless the user makes this choice. this [...]

By | 2011-06-06T12:17:22+00:00 June 6th, 2011|General info, OS Deployment|1 Comment

Set default keyboard settings based on Running OS

While doing refresh scenarios, its possible to have USMT set the current Keyboard settings for the existing users on the reinstalled OS. The problem however, is setting the same default keyboard settings for new users on that machine.. By default the Keyboard settings will be that of the reference image, so if the keyboard settings in the image is en-US/00000409 it will be so on the deployed machine, unless this is changed somehow ( E.g Unattend.xml, variable, Reg e.t.c) In an XP to Win7 migration scenario (or 7 to 7), you could run a script, to pick up the current [...]

By | 2011-06-02T20:51:33+00:00 June 2nd, 2011|OS Deployment|2 Comments

Getting a Hardcopy of the TS progress report.

  I guess everyone uses the report showing how fare along a Task Sequence actually is, or if one of the steps has failed. But sometimes this report disappears after the TS finishes, so wouldn’t it be nice to always have it available afterword to see it one or more steps have failed, or to evaluate if an option acts like expected.. Well with a little help from one of my collages (Claus Codam) I created this routine to have that available, in by LOGS folder, and here is how. 1. Create a new user to use for reporting (in [...]

By | 2011-01-21T16:09:02+00:00 January 21st, 2011|General info, OS Deployment|5 Comments