Om Jakob Gottlieb Svendsen

Twitter: @JakobGSvendsen

Jakob Gottlieb Svendsen is a Microsoft Cloud and Data Center Management MVP (http://mvp.microsoft.com/en-us/default.aspx), Working as Global Lead Developer, Senior Consultant and Trainer at CTGlobal, where he is one of the driving forces in keeping CTGlobal a System Center Gold Partner and member of the System Center Alliance.

Since he started at Coretech in 2007, he has focused on Scripting and Development, primarily developing tools, extensions and scripts for the System Center Suite. His main area is Automation (including OMS/Azure Automation, Service Management Automation, PowerShell and Orchestrator). Another area is Windows Azure Pack / Azure Stack, where he does implementation, development, workshops and presentations. He is a world-wide renowned voice in the Automation field.

He is passionately devoted to the community, to which he contributes by being a moderator at TechNet and sharing his knowledge at https://blog.ctglobalservices.com/jgs

  • Co-founder: PowerShell User Group Denmark
  • Speaker at MMS 2016, Minneapolis (www.mmsmoa.com)
  • SCU Europe 2014, 2015, 2016 (www.systemcenteruniverse.ch)
  • Microsoft TechEd North America 2014, Houston
  • NIC 2012,2013,2014,2015, Oslo (www.nic.com)
  • Microsoft CampusDays 2011, 2013, Copenhagen
  • Microsoft TechDays 2015, Sweden (www.techdays.se)
  • Microsoft Partner Event: New in SC2012 SP1
  • User group meetings (PSUG.DK , SCUG.DK/BE/NO, AZMUG + more)
  • Microsoft Certified Trainer.
  • Microsoft Scripting Guys Forum Moderator

Main working areas:

  • Automation (Azure Automation, SMA, SCO)
  • Windows Azure Pack / Azure Stack
  • System CenterVisual Studio Team Services / Team Foundation Server
  • Development:C#.Net, VB.NET, VBScript, PowerShell, Service Manager, OpsMgr, ConfigMgr
  • Orchestrator
  • Windows Azure Pack / Azure Stack

Training:

  • Azure Automation
  • Service Management Automation
  • System Center Orchestrator
  • PowerShell, VBScript, C#.Net, VB.Net
  • Windows Azure Pack / Azure Stack Development Workshops

PowerShell: Setting Azure Active Directory Diagnostics Forwarding

Currently we a spending most of our time doing Azure Gonvernance projects for customers.This includes DevOpsPipelinesTemplatesand moreManagement/Resource Group StructurePoliciesMonitoringIf you need anything in aboveareas, don’t hesistate to contact us!We can help you get into azure from nothing to production, or help you get control of your azure spending and structure.One of the things we setup is Diagnostics logging in Azure Log Analytics from various resources.This is super easy to setup on all Azure Resources, but it is actually also possible to enable on Azure ADs.Azure AD forwards these logs:AuditLogsSignInLogsThe challenge is that Azure AD is Not  a normal Azure resource, [...]

By |2019-02-19T11:30:37+01:00februar 19th, 2019|Automation, Azure, Monitoring, Powershell|3 Comments

SCCM: Improved MDT – “Execute Runbook” Script

Hello EverybodyHere is a little xmas present from Team CTGlobalThis script is an improved version of the script used by MDT to for the “Execute Runbook” StepI has the following improvements:Success/Failed checkRetry if the webservice call failsRetrieval of the correct result, when a runbook has failed over to one or more servers.The currently included script in MDt, will accidently get the first result, which is the failed result, while the newst result is the succeded one.This improves stability of the step by far.This has been tested in a scenario that contains around 800 servers in each patch windows.Each server executes [...]

#PS5.1–Import-PSSession against JEA endpoint Error

Today I implemented a JEA solution in PowerShell, but at the customer site we hit an error which I did not see in our test environments. When we tried to execute Import-PSSession we got this error: Running the Get-Command command in a remote session reported the following error: A parameter cannot be found that matches parameter name ‘PowerShellVersion’ Searching the net found this issue in github for PS6.0, but there is no information around a fix in PS5.1 https://github.com/PowerShell/PowerShell/issues/4195 I asked my friend Aleksandar Nikolic and he suggested to try and make a workaround for Get-FormatData. So we did, and [...]

By |2018-12-12T17:58:08+01:00december 11th, 2018|Powershell|3 Comments

PowerShell Script for updating Runbook Steps in a Task Sequence!

The MDT Toolkit is great! One very useful feature is the “Execute Runbook” Step, which can execute a runbook in Orchestrator. Unfortunately Orchestrator has a little quirk, when moving to new environment, such as moving from Test to Prod. All runbooks get a new GUID, and runbook parameters might get a new GUID.  Besides this, the Server names usually needs to be changed too! This can be a trivial task, which an automation guy like me hate to do! Everytime Server name is updated, all parameters has to be setup again. This also makes the task prone to errors! So [...]

Enhanced Sync-VSTSGit runbook that support Pull Requests

My colleague Andreas and me was preparing demos for our Azure Automation – Advanced runbook design session at Experts Live EU More info on the session hereUse thís runbook to support automatic synchronization from visual studio git repositories! (See the session recording for WHY!)It is based on the script provided by MSFT at https://github.com/azureautomation/runbooks/blob/master/Utility/ARM/Sync-VSTS.ps1We will make sure to submit a pull request to get the enchanced code implemented in that version.This version add’s support for multiple branches and pull requests, while the original runbook only supports synchronizing direct commits.To setup the solution, follow the guide described here:https://docs.microsoft.com/en-us/azure/automation/automation-scenario-source-control-integration-with-vstsGood luck! <#PSScriptInfo .VERSION [...]

By |2017-08-25T14:11:40+01:00august 24th, 2017|Powershell|Kommentarer lukket til Enhanced Sync-VSTSGit runbook that support Pull Requests

Azure Automation Runbook Template 1.0

This is a base runbook template developed by CT Global. This version was first presented at Experts Live EU 2017. [CmdletBinding()] [OutputType([Object])] #Set to specific object type if possible (fx. if script gets a ADUser, set output type to ADUser) Param ( [Parameter (Mandatory = $true)] [String] $ResourceGroupName ) $ErrorActionPreference = "stop" $VerbosePreference = "silentlycontinue" #//---------------------------------------------------------------------------- #// #// Global constant and variable declarations #// Shared Resource retrieval (Assets) #// #//---------------------------------------------------------------------------- #Constants $Prefix = "CT-" #Assets $Credential = Get-AutomationCredential -Name "Admin" #//---------------------------------------------------------------------------- #// Procedures (Logging etc.) #//---------------------------------------------------------------------------- #region Procedures Function Add-Tracelog { param($Message, $TraceLog) $Message = "$(get-date) - $Message`n" Write-Verbose $Message [...]

By |2017-08-23T14:34:56+01:00august 24th, 2017|Powershell|2 Comments

Watch out when using $PSModuleAutoLoadingPreference = “none” in a PS Remote Session in Windows Server 2016

Recently I discovered a change in the default behavior of PSRemoting Sessions in Windows Server 2012 R2 vs. Server 2016. I was migrating a script from 2012R2 to 2016 and surprisingly, I got this error:   The term 'Get-Date' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included , verify that the path is correct and try again. + CategoryInfo : ObjectNotFound: (Get-Date:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException + PSComputerName : ctaa01   When I vestigated the issue I found that [...]

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: https://azure.microsoft.com/en-us/services/functions/ 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+01:00august 24th, 2016|Azure|Kommentarer lukket til Azure Function to enable Microsoft Graph API webhook subscriptions to Azure Automation webhooks

OMS Automation: How to handle OMS Alert result data in a runbook

Currently we are doing Demos upon demos, POC upon POC of OMS. Everybody seems keen to get into to it! One of the function of OMS Log Search is Alerts. These alerts can be setup to trigger a runbook in Automation when the alerts trigger. Here is a simple template to use for getting the content of the data sent from OMS: param($webhookdata) # Get Webhook Data $RequestBody = ConvertFrom-JSON $WebhookData.RequestBody # Searching Webhook Data for Value Results $SearchResults = $RequestBody.SearchResults $SearchResultsValue = $SearchResults.value Foreach ($item in $SearchResultsValue) { $UserName = $item.TargetUserName #Field name } Thats it !  

By |2016-06-29T16:18:35+01:00juni 29th, 2016|Azure|1 Kommentar

Azure Stack: Azure Stack TP1 POC download is available!

The Azure Stack POC is up and running again. With a new updates to make installation easier If you haven’t tried it yet! Get started! https://azure.microsoft.com/en-us/overview/azure-stack/try/ Read much more in the documentation (you can even help contribute since the docs are open source!) https://azure.microsoft.com/en-us/documentation/articles/azure-stack-overview/

By |2016-02-22T23:05:23+01:00februar 22nd, 2016|Azure, Azure Stack|Kommentarer lukket til Azure Stack: Azure Stack TP1 POC download is available!

Azure Stack – PowerShell: VM Admin GUI Tool – Beta 1

Welcome to my first Azure Stack blog. Recently I have been exploring the Azure Stack POC TP1 which is available for everyone at https://azure.microsoft.com/en-us/overview/azure-stack/ So far I am very impressed, of cause always bear in mind that this is the first technical preview POC. Today I made a small tool for helping me to have a good overview of my Azure Stack tenant VMs. In Azure Stack the VMs are named by their GUID in Hyper-V. This makes perfect sense, since multiple tenants could easily name their VMs the same name. But when administrating your hyper-v host, It can be [...]

By |2016-02-22T14:27:35+01:00februar 22nd, 2016|Azure, Azure Stack|Kommentarer lukket til Azure Stack – PowerShell: VM Admin GUI Tool – Beta 1

Azure PowerShell: How to assign access to a subscription using PowerShell (RBAC)

I had this question from a customer recently, and when I searched the net I wouldn’t find any specific examples. This example assigns a user as a Contributor to the subscription. When you assign roles to resources, all you need is the URL for the resource and provide it to this cmdlet. Here you go: Login-AzureRMAccount $userEmail = "[email protected]" $SubscriptionName = "Test Subscription" Get-AzureRmSubscription -Subscriptionname $SubscriptionName New-AzureRmRoleAssignment -SignInName $userEmail -Scope "/subscriptions/$($sub.SubscriptionId)" -RoleDefinitionName Contributor That’s all for today!

By |2016-02-18T13:41:05+01:00februar 18th, 2016|Azure, Powershell|4 Comments

Azure Automation / SCOM: Triggering a runbook as a Recovery task using Webhooks

  If you havent heard about it, the future of automation is here! In the form of  “Azure Automation”. also known as “OMS Automation” when it is part of the Operational Management Suite (OMS). This cloud service can control our automation, just as System center Orchestrator has done for years. It works in a very similar way, but has been extended to support more features, for instance it supports what is known as Webhooks. A webhook enables us to trigger a runbook using a standard HTTP call, making it easier to integrate from other tools (could for instance be used [...]

By |2016-02-10T15:41:56+01:00februar 10th, 2016|Azure, Operations Manager (SCOM)|1 Kommentar

Azure Automation: Setting “Run As” Account on Hybrid Worker Groups!

I just want to post a little new feature I found a couple of days ago as a small NYE treat! It is now possible to set a “global” Run As account on a hybrid worker group! This feature removes any difference between SMA and AA Hybrid Workers, meaning that you can transfer any runbooks directly! (Contact me if you need help) By Default the Hybrid Workers run as “LocalSystem”, while SMA runbook workers run as a specified service account. It is possible to change the service account for the Microsoft Monitoring Agent, but that is not best practice and [...]

By |2015-12-31T13:46:30+01:00december 31st, 2015|Azure|3 Comments

December 1st: Azure Automation: Triggering a webhook from a SharePoint workflow using Out-of-the-box Activities

Welcome to this year Coretech December Calendar! Today is the 1st of december and we have a great little christmas treat for you! This is the first post in a series of posts, published every day in December. Today's subject is Triggering Webhooks from SharePoint! One of the great new features in Azure Automation is Webhooks! Webhooks is everywhere! More and more cloud services support them. Basically it is a simple HTTP Post sent to a web service that starts the runbooks. We can then send a bunch of data with the post and have the runbook receive these dato. [...]

By |2015-12-01T12:00:00+01:00december 1st, 2015|Automation, Azure|7 Comments

Azure automation: Start-AutomationRunbook – New simple way to start runbook jobs from within a runbook!

Microsoft has just released a new cmdlet in the realm of Azure automation. Start-AutomationRunbook The cmdlet is designed to start runbook jobs in the same account as the current running runbook, without having to define any endpoints/credentials/etc. Syntax is: Start-AutomationRunbook [-Name] <string> [-Parameters <IDictionary>] [-RunOn <string>] [<CommonParameters>] How to start a runbook: Start-AutomationRunbook – Name "Test-JSONOutput" Start a runbook on a hybrid worker Start-AutomationRunbook – Name "Test-JSONOutput" –RunOn "Denmark" NB! The cmdlet can only be used inside runbooks Great little addition to the built in cmdlets in Azure automation!

By |2015-11-20T15:33:22+01:00november 20th, 2015|Automation, Azure|6 Comments

Videos from System Center Universe Europe 2015 Online! Watch my 3 session here!

  Azure Automation Introduction SCUE15 - Azure Automation Introduction from itnetX AG on Vimeo. Azure Automation Deep Dive SCUE15 - Azure Automation Deep Dive from itnetX AG on Vimeo. Get runbooks from the AA sessions here: https://blog.ctglobalservices.com/jgs/azure-automation-samples-from-sessions/ Service Management Automation - Automating System Center SCUE15 - Automating System Center from itnetX AG on Vimeo. Here another cool Azure Automation session from SCU: SCUE15 - Migrating from Orchestrator to Azure Automation from itnetX AG on Vimeo.   Thanks for a great time at SCUE 2015! .. hopefully see you next year!

By |2015-10-23T15:22:20+01:00oktober 23rd, 2015|Events|Kommentarer lukket til Videos from System Center Universe Europe 2015 Online! Watch my 3 session here!

Tech Days.se 2015 – SCO & SCSM–Lessons learned from the real world–Slides, Examples, Tools, Template / How to use runbook template

Thanks for being a great audience! and for so many showing up! As promised I have uploaded the runbooks and management packs I demonstrated in the session including my SCO Template for runbooks Content Examples Tools Runbook Template Slides Download here: [download id="263"] Links: Best practices book: https://t.co/pOHfdmSJra Coretech MP Transfer tool https://blog.ctglobalservices.com/jgs/scsm-sco-management-pack-transfer-tool-beta-3-freeware/ SCSM Extension Integraiton Pack https://blog.ctglobalservices.com/jgs/scoscsm-2012-create-objects-with-activities-with-coretech-integration-pack-for-scsm-2012-extension-beta-2 Parse Export https://scorch.codeplex.com/releases/view/104915 Sanitize Export + Custom Runbook Activity Type + Lots of other stuff https://scorch.codeplex.com/   How to use the runbook template: Import runbooks. this includes folders and shared runbooks. But, to be able to create another stage that points to [...]

By |2015-10-22T16:29:31+01:00oktober 22nd, 2015|Automation, Events|Kommentarer lukket til Tech Days.se 2015 – SCO & SCSM–Lessons learned from the real world–Slides, Examples, Tools, Template / How to use runbook template

Azure Automation: Script for downloading and preparing AzureRM modules for Azure Automation!

Update from MSFT: 2/22/2016: To respond to a common user question, right now there is no timeline on when additional modules / new versions of modules will be shipped out of box in the Automation service. If you have additional requirements besides what we currently ship globally, these modules / module versions will have to be imported as user modules. Please note the new guidance is that if the latest version of any Azure/AzureRM module is imported as a user module to an automation account, the latest versions of ALL Azure/AzureRM modules (not just the ones that ship out of [...]

By |2015-10-12T16:01:15+01:00oktober 12th, 2015|Azure|7 Comments

Azure Automation: New Features announced!

Today at the PowerShell summit in Stockholm,  Joe Levy and Anatoli Beliaev of Microsoft announced a bunch of new features that is publicly available in Azure Automation! Unfortunately I was not able to be there in person, but luckily multiple people tweeted about this stuff! (Thanks @vNiklas + @skillriver + more!! ) Some of the features is what I have demoed at multiple session within the last month. (SCU + User groups). Here is the list: Gallery Support Gallery has been expanded and has a nice button for it the gallery now also includes powershell scripts. PowerShell Script Runbooks Use [...]

By |2015-09-15T14:03:34+01:00september 15th, 2015|Azure, Scripting & Development|Kommentarer lukket til Azure Automation: New Features announced!

Service Manager & Orchestrator – Management Pack Transfer Tool by Coretech Beta 4 is OUT!

Beta 4 has been uploaded.  a bug was fixed: In some cases not all runbooks in the MP was found. Fixed the issue. Unfortunately there was a problem with the source code, which meant having to re-do the fixes from beta 2 and 3. Please report back if there is any problems! thanks! see changelog in the gallery.   Get the new version here: https://gallery.technet.microsoft.com/Service-Manager-Orchestrato-3d9b3960

By |2015-08-10T13:35:34+01:00august 10th, 2015|Automation, Service Manager (SCSM)|Kommentarer lukket til Service Manager & Orchestrator – Management Pack Transfer Tool by Coretech Beta 4 is OUT!

Azure Automation DSC: How to register and use Azure Automation DSC

One of the new features of Azure Automation is still somewhat hidden. It needs to be enabled before you see it in the GUI This blog post gives a quick overview of what is needed to use it.   Step 1: Enable the extension in your Azure Account #Add & Select Account Add-AzureAccount Switch-AzureMode -Name AzureResourceManager #Register DSC extension on account Register-AzureProvider –ProviderNamespace Microsoft.Automation Register-AzureProviderFeature -FeatureName dsc -ProviderNamespace Microsoft.Automation The command registers the azure automation dsv extension on your account. This shows the DSC Nodes tile in your automation account:     Step 2: Select subscription and default values Before [...]