Configuration Management with Azure Automation DSC

Slides:



Advertisements
Similar presentations
Lower costs and improve predictability Automation Enable service owners to focus on work that adds business value Reduce error-prone manual activities.
Advertisements

Lower costs and improve predictability Automation Enable service owners to focus on work that adds business value Reduce error-prone manual activities.
Integrate into existing systems with PowerShell integration modules Extend by building PS modules to enable integrating into other systems Optimize.
Automate Microsoft Azure Ross Sponholtz Mark Ghazai.
MICROSOFT CONFIDENTIAL – INTERNAL ONLY
Automating Operational and Management Tasks in Microsoft Operations Management Suite and Azure
06 | Debugging and Deploying on Azure Stacey Mulcahy | Technical Evangelist Rami Sayar | Technical Evangelist.
Long Live Azure Automation!Long Live Azure Automation! Cloud-first Configuration Management and Automation Beth Cooper Program Manager.
Microsoft Virtual Academy. Microsoft Virtual Academy First HalfSecond Half (01) Introduction to Microsoft Virtualization(05) Hyper-V Management (02) Hyper-V.
IT Operations Management
1/27/2018 5:13 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Run Azure Services in your datacenter
IT Operations Management
Hybrid Management and Security
Building ARM IaaS Application Environment
TechReady 16 5/10/2018 Day 2, Session 4 Reaching the Summit: ITIL-integrated Self-Service in the Hybrid Cloud © 2013 Microsoft Corporation. All rights.
Azure Solution Alignment Workshop
Microsoft Virtual Academy
Ed OMS Team 5/29/2018 1:05 PM PowerShell as a Service Managing clouds, Windows, Linux, on-premises or public with Microsoft Operations.
Hybrid Management and Security
Microsoft Operations Management Suite Insight and Analytics
Configure and Manage Your Hybrid Cloud Environment at Scale
Developing Hybrid Apps on Microsoft Azure Stack
Microsoft Ignite /17/ :54 PM BRK2092
7/28/ :17 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or.
IT Operations Management
Microsoft Ignite /31/ :08 AM
Red Hat OpenShift on Azure
SQL Server Data Tools for Visual Studio Part I: Core SQL Server Tools
Configuration Management with Azure Automation DSC
IT Operations Management
9/11/2018 9:55 PM BRK3129 Manage hybrid cloud and transform your workplace with PowerShell and Azure Automation Eamon O'Reilly, Hemant Mahawar, and Joey.
Continuous Delivery of Windows Azure Cloud Services (DEV310)
Microsoft Azure P wer Lunch
Azure Primed Randy Pagels Sr. Developer Technology Specialist
Release Management with Visual Studio Team Services
Build /21/2018 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Microsoft Virtual Academy
The future of deployments by Rami Mounla
Microsoft /12/2018 8:06 AM BRK2103 Deliver more features faster with a modern development and test solution Claude Remillard Group Program Manager.
11/13/2018 3:26 PM MDC317B Complex Maintenance with Configuration Manager and Orchestrator – Patching Clusters Neil Peterson © 2013 Microsoft Corporation.
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Cloud? It's All about the App!
Cloud? It's All about the App!
Microsoft Virtual Academy
Ed oms team OMS: Log Analytics Ed oms team.
Release Management with Visual Studio Team Services
ARM and Compliance Vishwas Lele & Jason McNutt
Microsoft Virtual Academy
Microsoft Virtual Academy
12/26/2018 1:44 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Intro to Workflow Services and Windows Server AppFabric
Microsoft Virtual Academy
Microsoft Virtual Academy
MDC-B203 Deploying Applications in Microsoft System Center Virtual Machine Manager Using Services John Messec Program Manager Microsoft.
TechEd /28/2019 3:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft Virtual Academy
TechEd /23/2019 9:23 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft Virtual Academy
Microsoft Virtual Academy
5/25/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Day 2, Session 2 Connecting System Center to the Public Cloud
Microsoft Virtual Academy
SCCM in hybrid world Predrag Jelesijević Microsoft 7/6/ :17 AM
Office 365 Development July 2014.
Making Windows Azure Relevant to IT Professionals
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Day 1, Session 4 Building Your Service Catalog
Presentation transcript:

Configuration Management with Azure Automation DSC Cloud & On-Premises, Windows & Linux Joe Ed Wilson @Scriptingguys OMS Team

Session Objectives And Takeaways Tech Ready 15 7/29/2018 Session Objectives And Takeaways Session Objective(s): Provide an overview of Azure Automation Demonstrate heterogeneous IT management using PowerShell and PowerShell DSC in Azure Automation Key Takeaways Azure Automation provides PowerShell as a Service -- a central, secure location for all your PowerShell assets, executions, and reports, that is scalable, reliable and highly-available Azure Automation DSC provides a reliable, highly-available, scalable DSC pull and reporting service that can be used to deliver, monitor, and update infrastructure aligned with IT rules Azure Automation simplifies automation and configuration across clouds, platforms, and datacenters Joe © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7/29/2018 The Problem* “Keeping the 1000s of servers running my services configured correctly is incredibly complicated and error-prone.” Ed *This is just one of many IT management problems Azure Automation can solve © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

The Problem – In Detail Many servers to configure, in various “roles” 7/29/2018 11:16 AM The Problem – In Detail Many servers to configure, in various “roles” More servers to configure as infrastructure scales to meet applications’ capacity demands Servers within a role need to be configured exactly the same Servers in different roles configured differently Other employees, and internal software, have access to these VMs and may change things As applications’ demands change, configurations must be updated to support these changes Different teams responsible for different “pieces” of the configurations Ed © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Azure Automation Overview Joe

7/29/2018 Process & desired state automation that simplifies cloud & on-premises management Optimize and extend existing investments Integration Integrate into existing systems & components with PowerShell modules and DSC resources Build additional PS modules to enable integrating into other systems / components Deliver flexible and reliable services Orchestration Accelerate time to value with flexible workflows & declarative configurations Improve service reliability across multiple tools, systems, and department silos Lower costs and improve predictability Automation Enable service owners to focus on work that adds business value Reduce error-prone manual activities while lowering costs Ensure new and existing systems stay in the correct state Joe © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Operations Management Suite 7/29/2018 Operations Management Suite Analytics | Automation | Recovery >> Containers Wire Data Operations Management Suite Configuration Linux Inventory Patching CMDB Remote OS Management Alerting Security | Update | Change | Dashboards >> Joe Microsoft Operation Management Suite © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

PowerShell++ 7/29/2018 PowerShell Runbooks - PowerShell scripts that automate complex, end-to-end processes Configurations – PowerShell DSC Configurations to enforce how machines should be configured Centralized, secure store Credentials Certificates Variables Connections PS Modules / PS DSC resources Draft / published versions Schedules Highly Available, Scalable, Manageable Execution environment for PowerShell PS DSC Pull / Reporting server REST API, C# SDK, cmdlets, and portal for managing all aspects of the service Historical Analysis Historical view of runbook job executions View runbook version used for each job High-level & granular views of DSC node compliance, now and in the past PowerShell Centralized, secure store Microsoft Azure Automation Highly Available, Scalable, Manageable Joe Historical Analysis © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

PowerShell, as a service 7/29/2018 PowerShell, as a service Simplicity Automate with no installation required No infrastructure to maintain Free tier lets you ‘try before you buy’ Velocity Scale instantly, as your needs change Get new features frequently & automatically Joe Ubiquity Multiple regions, for policy compliance & DR Integrate ‘behind the firewall’ on-premises © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Automation Features Runbook Gallery Azure Automation DSC Module Gallery PowerShell script runbooks PowerShell v5 support Side by side module versioning PowerShell classes PSWF improvements New cmdlets (Convert-String) PS DSC improvements (PSRunAsCredential) PowerShell ISE Add-On Hybrid Worker Graphical Authoring Azure Automation DSC Source Control support OMS Log Analytics & Azure Alerts integration Enable automation runbooks to be triggered from OMS Log Analytics or Azure alerts Diagnostic Logs Job Stream/Operational Logs -> Customer’s Storage Account AzureRM modules shipping in the service Automation UX goes GA in the new Azure portal Hybrid worker “run as”, webhook support Joe

Browse Runbook Gallery DEMO: Browse the Runbook Gallery

Import Module from Gallery DEMO: Import a module from the PowerShell Gallery

PowerShell ISE Add-On DEMO: Demo the PowerShell Automation ISE Add-On

Source Control Uses GitHub Need GitHub account: Demo Need GitHub Project: Demo Tie into Automation Source Control: Demo Later adding Visual Studio Online DEMO: Three demo’s illustrating setting up and configuring Source Control

Downsides to only using Runbooks 7/29/2018 Downsides to only using Runbooks Have to write TEST, SET, REPORT logic Have to schedule execution to happen continually Have to open inbound ports on all machines to manage Have to give Automation inbound access to all machines to manage Can’t easily grok configuration requirements just by skimming Can’t easily grok changes to configuration requirements by diffing different versions over time Have to write imperative PowerShell even though really just trying to define a declarative “desired state” © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Azure Automation DSC Ed

PowerShell Desired State Configuration: Overview

PS DSC configuration management Microsoft Ignite 2015 7/29/2018 11:16 AM PS DSC configuration management Simplifies configuration Prevents configuration drift Flexible deployment options Enables continuous deployment Development Test Production Ed © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Configuration and Continuous Deployment Intent Environment Configuration (Dev -> Test -> Production) $SiteName = “TestWebApp” $SitePath = “d:\inetpub\testsite” Servers = 3 … Structural Configuration Website IIS { Ensure = "Present“ Name = $SiteName Path = $SitePath } Make It So Idempotent Automation foreach -parallel ($featureName in $Name) { $feature = Get-WindowsFeature -Name $featureName if(($Ensure -eq "Present") -and (!$feature.Installed)) Install-WindowsFeature -Name $featureName …. Ed

PowerShell DSC Lifecycle Microsoft Ignite 2015 7/29/2018 11:16 AM PowerShell DSC Lifecycle Configuration .MOF config document Node Compiled Applied To: WebService Via Push or Pull Ed © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

PowerShell DSC Ed

Can PowerShell DSC be used at enterprise scale? Joe

Using PS DSC requires management of lots of items Microsoft Ignite 2015 7/29/2018 11:16 AM Using PS DSC requires management of lots of items Configuration Node Configurations (.MOF config document) Nodes Compiled Applied To: WebService Via Push or Pull Joe 1…N of these per configuration (+ checksum files for each) 1…N of these per node configuration 1…N of these © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Not manageable at scale 7/29/2018 11:16 AM Not manageable at scale How do I limit access? Which users can create / edit which configurations? Which users can compile which configurations (to create node configurations), and apply these node configurations to nodes? What nodes map to what node configurations? How do I prevent malicious nodes from accessing others? How do I track change / compliance across my environments? Who edited what configurations when? Who compiled what configurations, to generate which node configurations, when? What nodes are compliant or not, pending changes, or failed to become compliant? What specifically is each not compliant with? What services and roles are overall in compliance or not? How do I orchestrate configuration changes without impacting uptime? How do I make sure to only cause configuration changes during maintenance windows? How do I manage configuration changes across upgrade domains within a service? How do I manage configuration change dependencies across nodes in a service? Joe © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7/29/2018 11:16 AM Azure Automation DSC PS DSC pull / reporting service hosted in the cloud Manage physical hosts and VMs in any cloud or on-premises Windows or Linux Part of the Azure Automation service PS DSC configuration, node configuration, node, and resource management Import Authoring Compiling Versioning Distribution to nodes Reporting Easy node onboarding Joe © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Azure Automation DSC Azure Automation Staging Authoring MOF Node Configuration (MOF) Configuration (script) Reports checksum Rest Endpoint Joe Note that AA handles to deploy to pull server process. No more dealing with config ids, checksum, etc DSC Resources Zip Azure Automation Azure VM Physical server On-prem VM

Azure Automation DSC generally available Features: Free tier: Up to 5 managed DSC nodes per subscription Basic tier: Unlimited managed DSC nodes, $6 / node / month, prorated daily Features: Reliability improvements Improved reporting Support for report-only endpoint Azure VM Scale Sets support Joe

Azure Automation Resource Tree Microsoft Ignite 2015 7/29/2018 11:16 AM Azure Automation Resource Tree Bold = DSC support Runbook Job Asset Module DSC Resource Credential Connection Schedule Variable Certificate DSC Configuration Compilation job Node Configuration Nodes Joe © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Configuring Automation DSC DEMO: Azure Automation DSC

Finding new DSC Resources

DSC and Runbooks – better together 7/29/2018 DSC and Runbooks – better together Use PS DSC to declaratively configure VMs / physical hosts Use runbooks to orchestrate complex processes across systems Use PS DSC within Azure Automation runbooks to configure machines as part of larger processes Ex: The multi-step process of deploying new DSC configurations to production servers: Monitor source control for new commits to DSC repository of an organization When new commit, store the DSC in Azure Automation DSC, set up to be pulled by the stage environment VMs Run test suite to confirm service in stage environment is functioning properly If tests fail, alert developers If tests pass, wait for maintenance window and then set up the DSC in Azure Automation to be pulled by production VMs, in a way that maintains service availability Joe © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Azure Resource Manager templates vs DSC 7/29/2018 Azure Resource Manager templates vs DSC Use PS DSC to declaratively configure VMs / physical hosts Use ARM templates to declaratively configure cloud resources - Create Azure VMs - Create Azure Networks - Create Az Storage accounts - Create Az Automation accounts - Create Azure VMs configured to use Automation DSC for configuration management Joe © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Onboarding Linux/On-Prem Ed

Requirements for DSC for Linux Required package Description Minimum version Glibc GNU C Library 2.4 - 31.30 python Python 2.4 - 3.4 omi Open Management Infrastructure 1.0.8-4 openssl OpenSSL Libraries 0.9.8e or 1.0 python-ctypes Python CTypes library Must match Python version libcurl cURL http client library 7.15.1 unzip De-archiver for .zip files like resource modules n/a dsc-1.1.1.packages.tar.gz PowerShell DSC 1.1.1

Installing PowerShell DSC for Linux sudo apt-get -y Glibc sudo apt-get -y python sudo apt-get -y omi sudo apt-get -y openssl sudo apt-get -y python-ctypes sudo apt-get -y libcurl sudo apt-get -y unzip mkdir /Downloads cd /Downloads sudo curl -O https://github.com/Microsoft/PowerShell-DSC-for-Linux/releases/download/v1.1.1-70/dsc- 1.1.1.packages.tar.gz sudo tar -xzvf dsc-1.1.1.packages.tar.gz ; mv ./dsc/* ./ ; make ; make reg You will also need an omiserver startup script as well.

Use Register.py to onboard Configures to pull from Azure Automation DSC Configures to report to Azure Automation DSC /opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>

7/29/2018 Azure DSC Gotachas Node Configurations (MOFs), not Configurations, are what should be assigned to nodes in Automation DSC Node Configurations (MOFs) are namespaced by configuration name in Automation DSC (ex: MyConfiguration.webserver) Only machines with WMF 5 installed can communicate with Automation DSC Automation DSC does not currently support composite configurations or partial configurations (but does support composite resources) Currently, nodes must be reregistered with Automation DSC after one year, due to certificate expiration Compiling Configurations that use credentials in Automation DSC requires passing in ConfigurationData via PS cmdlets Joe © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

In Review Session Objective(s): Key Takeaways Tech Ready 15 7/29/2018 In Review Session Objective(s): Provide an overview of Azure Automation Demonstrate heterogeneous IT management using PowerShell and PowerShell DSC in Azure Automation Key Takeaways Azure Automation provides PowerShell as a Service -- a central, secure location for all your PowerShell assets, executions, and reports, that is scalable, reliable and highly-available Azure Automation DSC provides a reliable, highly-available, scalable DSC pull and reporting service that can be used to deliver, monitor, and update infrastructure aligned with IT rules Azure Automation simplifies automation and configuration across clouds, platforms, and datacenters Ed © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Join the Monthly Automation calls If interested, see us later to be added to the monthly invite. Eamon

OMS Team blog Http://aka.ms/omsblog

Try OMS Http:/Aka.ms/getoms

PowerShell Open Source Created by Neema Saeedi (neemas) for presentation to Microsoft IT, Service Deployment and Operations Team Notes attached to slides. Additional Resources mentioned: PowerShell Gallery - https://www.powershellgallery.com/ WMF 5.0 Preview April 2015 - http://www.microsoft.com/en-us/download/details.aspx?id=46889

PowerShell Sustained Investment 7/29/2018 PowerShell Sustained Investment 2006: PowerShell v1  2016: PowerShell v5 WMF provides downlevel support Windows not has over 3000 cmdlets Not just a shell: task-based scripting language Desired State Configuration Pester Moving beyond Windows: PowerShell Gallery Azure Automation © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

What’s going on Availability of PowerShell on Linux and Mac 7/29/2018 What’s going on Availability of PowerShell on Linux and Mac Ubuntu 14.04/16.04 CentOS 7.1 RHEL 7 Mac OS X 10.11 We’re open sourcing Windows PowerShell (.NET) and PowerShell Core (.NET Core) Single codebase for Windows and *nix editions Alpha / developer preview builds w/ community support One repository: https://github.com/PowerShell/PowerShell MIT License © 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

PowerShell is cool and unique PowerShell Core enables heterogeneous management Azure, AWS, VMWare, Chef OpenSSH (including PSRP support) PowerShell and Microsoft are good citizens in a Linux world Easy to wrap native Linux binaries (crontab, Python) Templatizing configuration files (Apache) Editor Services working with multiple editors (VS Code, Sublime Text) PowerShell is cool and unique Structured data as objects REALLY easy to wrap native Linux binaries that output JSON (journalctl) Awesome as a REST shell

7/29/2018 11:16 AM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.