/
Hosting Day Workshop Hosting Day Workshop

Hosting Day Workshop - PowerPoint Presentation

olivia-moreira
olivia-moreira . @olivia-moreira
Follow
370 views
Uploaded On 2017-09-09

Hosting Day Workshop - PPT Presentation

ORK Introduction Gang Pan Microsoft Session Overview Welcome Series of workshops demos and examples Define or recap Business Objectives Determine which workshops are needed Scale is great and terrible ID: 586546

windows powershell amp server powershell windows server amp cmdlets workflow management syntax dsc support command cim job object great

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Hosting Day Workshop" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Hosting Day Workshop ORK Introduction

Gang Pan

MicrosoftSlide2

Session Overview

Welcome

Series of workshops, demos and examples

Define or re-cap Business Objectives

Determine which workshops are neededSlide3

Scale is “great and terrible”Slide4

Rapid changes is “great and terrible”Slide5

What everyone wants …

Continuous service availability +

Continuous rapid release cycle +

Continuous deployment_________

Automation

$$

Idea

Business Development OperationsSlide6

In the past, Windows Server was a great operating system

for a

single

server

and

its devices

Windows Server 2012 is a great operating system

for many serversand the devices that connect themwhether they are physical or virtualon premises or off premisesWindows Server Management PhilosophySlide7

PowerShell Automation is…Slide8

We know…Admins are busy and don’t have timeLearning a new language and system (aka PowerShell) takes time!

We vow…

Learn PowerShell and we will make it the best investment you ever made

We will leverage what you learn over and over and over

PowerShell “Sacred Vow”Slide9

PowerShell 1.0Introduced a great scripting language for local machine managementGreat APIs for developers to write

cmdlets

and providers

Microsoft Exchange made a big bet on PowerShell

Shipped with Windows Server 2008

PowerShell 2.0

Shipped with Windows 7 and Windows Server 2008 R2

Remoting

introduced: 1:1, Fan-out, Fan-in, Implicit

remotingIntroduced ISE: Syntax coloring, Graphical debugging, Intl. supportIntroduced Modules: Self containing packaging mechanismIT Pros can create PowerShell cmdlets using PowerShell scriptHuge feature set: Background Jobs, Restricted Sessions, Transactions, Out-GridView, EventingThe JourneySlide10

Windows PowerShell 3.0 Features

Windows PowerShell Workflow

.NET Framework 4 support

Add-Member improvements

Computer cmdlets

CSV handling improvements

Get-ChildItem attributes

Get-Command improvements

Get-Content -Tail

Better history support

Security cmdlet fixes

Select-Object optimizationsSelect-String improvementsTee-Object -AppendDisconnected sessionsIdle timeout & server buffering controlInvoke-Command in disconnected sessionsDisconnected jobsSTA mode by default

Run with PowerShell context menuUpdated console font & brandingConsole host start perf improvementsETW logging and tracingScheduled jobsNew Group Policy settingsOutput redirection for all streamsDynamic types & formats

Word wrap

Default properties on custom objects

Updatable help system

Method overload discovery

HelpUri

attribute support

HelpFile

property on

FunctionInfo

Simplified

Where and

ForEachRemoting local variables via $usingArray syntax for scalarsNew parser built on DLRCustom parameter value defaultsGeneric method invocationTypecasting deserialized objectsImproved method overload selectionNew objects from hash tablesOrdered hash tablesTypecasting for parameter valuesPipeline paging APIsNested pipeline APIs$PSScriptRoot and $PSCommandPathImproved module discovery & importNew module manifest keysPublic abstract syntax treeRunspace pool cleanup APIPublic tab completionWindows RT API supportObsolete cmdlet attributeVerb & noun on FunctionInfoWeb & REST cmdletsJSON cmdlets

CIM cmdlet authoring from WMI v2CIM .NET APIsCore CIM cmdletsRuntime script compilationEngine reliability improvementsBetter Get-ChildItem network perfCmdlet definition filesCertificate provider improvementsCredentials for FileSystem providerAlternate NTFS data stream supportMove-Item across drivesRemote module discovery & importRemote session autodisconnect & retryTransport options for remote sessionsModule loggingRunAs and SharedHost supportJob integration with Task SchedulerAlternate credential support for jobsModule autoloadingCommand discovery improvementsSpecial character handlingLiteralPath support for core cmdletsImproved tab completionSession configuration filesIntellisenseWindows Management Framework 3.0WinPE supportWindows RT support

Windows PowerShell Web AccessXAML-based workflowsScript-based workflowsControl Panel cmdletsUnblock-File cmdletWorkflow helpCmdlet to activity conversionWorkflow persistenceImproved WMI object formattingHeterogeneous object formattingWorkflow loggingWorkflow extensibilityCommon workflow parametersWorkflow execution environmentWindows PowerShell Web ServicesSnippetsISE Add-onsIntelliSense supportShow-CommandGet-Help -ShowWindowRestart Manager supportScript autosave supportOut-GridView -PassThruXML syntax highlightingBlock selectCollapsible regionsContextual F1 supportScript Explorer

PowerShell Workflow

Scheduled Jobs

Array Syntax

Enhanced ISE

Delegated Admin

Remoting

CEC / CIM ResultsSlide11

Windows PowerShell 3.0 Themes

Simple & Easy

v3.0 -gt v2.0

Robust & Scalable

Comprehensive Coverage

Standards-basedSlide12

CEC: Common Engineering Criteria

What:

All Microsoft server products are required to comply with a set of engineering requirements as part of the CEC

Goal:

Reduce the overall total cost of ownership through improved integration, manageability, security, reliability, and other critical infrastructure

Requirement:

All management surfaces must be exposed via PowerShell

cmdlets

or providers

Result: COVERAGEManagement CECSlide13

Rough Coverage Comparison

Windows Server 2012

Core

cmdlets

: 305

Total

cmdlets

: 2300

Modules: 239

Windows Server 2008 R2

Core cmdlets:

249 Total cmdlets: 456Modules: 10Slide14

CIM Based Cmdlets

Leverage WMI Investment

Write a WMI v2 provider

Write a Cmdlet Definition File (.

cdxml

)

Get PowerShell

cmdlets

with a low cost of entry

Benefits

No dependency on .NET Framework

Ideal for low level components (file system, networking)Remoting over CIM using WSMan and CimSessions

<?xml version="1.0" encoding="utf-8"?><PowerShellMetadata xmlns

="http://schemas.microsoft.com/

cmdlets

-over-objects/2009/11">

<Class

ClassName

="ROOT/StandardCimv2/

MSFT_NetAdapter

"

ClassVersion

="1.0.0">

<Version>1.0</Version>

<DefaultNoun>NetAdapter</DefaultNoun> <InstanceCmdlets> <GetCmdletParameters DefaultCmdletParameterSet="ByName"> <QueryableProperties> <Property PropertyName="Name"> <Type PSType ="string"/> <RegularQuery AllowGlobbing="true">

<CmdletParameterMetadata PSName="Name" Position="0" CmdletParameterSets="ByName" /> </RegularQuery> </Property>...Slide15

New Cmdlets in Windows PowerShell 3.0

Thousands more in Windows Server 2012

Jobs

Add-JobTrigger

Disable-JobTrigger

Enable-JobTrigger

Get-JobTrigger

New-JobTrigger

Remove-JobTrigger

Set-JobTrigger

Disable-ScheduledJobEnable-ScheduledJobGet-ScheduledJob

Register-ScheduledJobSet-ScheduledJobUnregister-ScheduledJobGet-ScheduledJobOptionNew-ScheduledJobOptionSet-ScheduledJobOptionISEGet-IseSnippet

Import-IseSnippetNew-IseSnippet

CIM

Get-CimAssociatedInstance

Get-CimClass

Get-CimInstance

Get-CimSession

Invoke-CimMethod

New-CimInstance

New-CimSession

New-CimSessionOption

Register-CimIndicationEvent

Remove-CimInstance

Remove-CimSessionSet-CimInstanceRemotingConnect-PSSessionDisconnect-PSSessionReceive-PSSessionNew-PSSessionConfigurationFileTest-PSSessionConfigurationFileNew-PSTransportOption

WorkflowNew-PSWorkflowExecutionOptionNew-PSWorkflowSessionInvoke-AsWorkflowResume-JobSuspend-JobWebConvertFrom-JsonConvertTo-JsonInvoke-RestMethodInvoke-WebRequestOtherNew-WinEventUnblock-File

Show-CommandRename-ComputerSave-HelpUpdate-HelpGet-TypeDataRemove-TypeDataGet-ControlPanelItemShow-ControlPanelItemSlide16

Available Everywhere

Windows 8, Windows RT, & Windows Server 2012 Full Server

PowerShell

Remoting

enabled by default on server SKUs

Server Core

With or without Server Graphical Shell or Graphical Management Tools

CIM modules

remotable

without PowerShell or .NET Framework installedWindows Preinstallation

Environment (WinPE) 4.0Non-Windows Platforms Via NanoWEBM / OMIWindows Management Framework 3.0Windows Server 2008 / Windows 7 / Windows Server 2008 R2 (+Server Core)Windows PowerShell Web AccessAccess to PowerShell via web browser interfaceCross-platform support (IE, Firefox, Safari, Opera, Chrome)Slide17

Windows PowerShell ISEIntegrated Scripting Environment

IntelliSense

Snippets

Add-on Tools

Show-Command pane

Regions

F1 Help window

Rich copy & block select

Single pane I/O

AutoSave supportXML syntax highlighting

Debugger enhancementsRecent items list

IntelliSenseSlide18

Simple & Easy for New UsersSlide19

Simple & Easy for Existing Users

ETS

Ordered hash tables

New

objects

from

hash

tables

Add-Member improvements

Default

properties

on

custom objects

Types & Formats

Dynamic

types &

formats

Typecasting

deserialized

objects

Typecasting parameter values

Heterogeneous

object

formatting

Cmdlets

Custom parameter

value defaultsSelect-String improvementsSpecial character handlingLiteralPath support forcore cmdlets

ISE

XML syntax highlightingCommand + output insingle paneOut-GridView -PassThru

Restart Manager supportSlide20

PowerShell Workflow

Multi-machine orchestration engine built on Windows Workflow Foundation and .NET

4.0

Launch-able from command-line or SC Orchestrator

Reliably execute long-running management tasks across multiple machines or IT

processes

Robust:

Able to suspend & resume individual workflows, survive machine reboots

Performant

: Connection pooling, workflow throttling, and shared hostingScalable:

Execute multiple tasks in parallel, common parameters for multi-machineReliable: Automatic connection and action retry with configurable intervalsFamiliar: Author workflows as PowerShell scripts or using XAML, manage as PSJobsSlide21

Scheduled Jobs

Job Scheduling allows you to schedule

the execution

of a PowerShell background

job

Support for a rich set of triggers

Once at a specific date & time

Daily, weekly, or custom interval (day, week, month)

With a specific repetition duration or interval

At log on, at startup, or with a random delay

Under a different user account

New PSScheduledJob module with 16 cmdlets

*-JobTrigger to create scheduled triggers*-ScheduledJob to register, unregister, and change scheduled job definitions*-ScheduledJobOption to configure advanced settings*-Job to retrieve results from scheduled, workflow, and background jobsSlide22

Simple & Easy Delegated Administration

Session Configuration Files

Easy remote endpoint creation

Uses .psd1 PowerShell data files

Declarative name-value pairs

No scripting

required

RunAs

New settings within

WSMan

plug-in

RunAsUser

&

RunAsPassword

Allows running remote sessions with different

creds

SharedHost

Normally each session runs in a separate process

Allows multiple remote sessions to run in same

processSlide23

PowerShell DSC

The “End Game”

This technology was the “final destination” in the “Monad Manifesto.” That’s the document written by Windows PowerShell inventory Jeffrey

Snover

, wherein he described his vision for changing administration in a Microsoft environment.

In some respects, DSC eliminates the need for some administrators to even learn Windows PowerShell. It’s that important.

In the future, expect DSC to be the

primary administrative interface

for Microsoft products

and services

.Slide24

DSC Architectural Overview

Calls

MOF on

Target Node

DSC Resources

specialized

Windows PowerShell modules

Pushed

Compiled

Configuration Script

MyConfig.ps1

MOF

SERVER2.mof

Authoring

DeploymentSlide25

Two Deployment Modes

Push

Use

Start-

DscConfiguration

to copy MOF to target node(s). Node(s) evaluate configuration immediately and again every 15 minutes (by default).

Manual process. Non-core DSC resources must be manually deployed to nodes.

Pull

Use push mode to enroll target node(s), configuring them with their pull server information. Target node(s) check the pull server every 30 minutes (default) and re-apply configuration.

MOF files must be copied to pull server, and must be accompanies by a checksum file.

DSC resources must be ZIPped and placed on pull server. Nodes will copy down any resources they are missing.Slide26

Service Management Automation

Process automation tool

Built on foundation of PowerShell Workflows

Native Integration with Windows Azure Pack

Feature of System Center Orchestrator

Unit of automation = Runbook

Runbook written with PowerShell Workflow

Globally available assets

HA and Scalable

infrastructure