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
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.
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