220 likes | 301 Views
Windows PowerShell v2 The IT Revolution Part Two. Bart J.F. De Smet Microsoft Corporation bartde@microsoft.com blogs.bartdesmet.net/bart. The PowerShell Mission. As integrated and composable as BASH/KSH As programmatic as Perl/Python/Ruby
E N D
Windows PowerShell v2The IT Revolution Part Two Bart J.F. De Smet Microsoft Corporation bartde@microsoft.com blogs.bartdesmet.net/bart
The PowerShell Mission • As integrated and composable as BASH/KSH • As programmatic as Perl/Python/Ruby • As production oriented as AS400 CL/VMS DCL • As accessible as file systems
Jeffrey’s Tower of Power 2007 2008
State of The Software • Approaching 3 million downloads • XP, Vista, Server 2003 and 2008 • Adopted by Exchange, SQL, SCOM, SCVMM, and SCDPMand many others • CEC 2009 requirement • Dozens of 3rd party tools, ISVs,and partners • Strong community engagement, 27 PowerShell MVPs
The PowerShell v2 Mission • Reduce cost and effort to • Use PowerShell • Get, learn, share scripts • Layer applications on PowerShell • GUI, web, workflow, etc • Manage everything/everywhere • Targeting the whole infrastructure • Client/server, application/ service, hardware and OS • Using any and all mechanisms • WMI, web services, WSMAN, .NET, native code
PowerShell Architecture (Power) User Experience Shell and Tools PowerShell Language Script Debugger Engine Object Manager Pipeline Processor Execution Context Extensibility and hosting Cmdlets WMI XML ADSI .NET COM ADO
PowerShell v2 Themes GUI over PowerShell Production Scripting Universal Automation Environment Community Feedback
GUI over PowerShell Execute Fetch results Automate Script
GUI over PowerShell • Choice of tools • Command-line interface (CLI) and GUI • Agility in delivering new GUIs • No impact to the runtime • Automation for free • GUI emits script • GUI teaches command-line • Interactive exploration
GUI over PowerShell (Power) User Experience PowerShell ISE Shell and Tools PowerShell Language Interactive Debugging Script Debugger Engine Runspace Isolation Object Manager Thread Control Pipeline Processor Execution Context Session Pooling Hosting APIs Extensibility and hosting Cmdlets Out-GridView WMI XML ADSI .NET COM ADO
Demo GUI over PowerShell
Production Scripting • Scripts are • Easy to use • Like cmdlets • Safe to operate • Runspaces • Easy to share • Modules • Easy to support • Script debugging
Production Scripting (Power) User Experience Shell and Tools Modules PowerShell Language Restricted Language Script Debugger Debugger Enhancements Engine Transactions Object Manager Pipeline Processor Execution Context Execution Security Extensibility and hosting Cmdlets Script Cmdlets WMI XML ADSI .NET Native Code COM ADO
Demo Production Scripting
Universal Automation Universal • Interactive or programmatic • Local or Remote • Single or Multi Machine • Synchronous or Asynchronous • Wide range of Oses • Wide range of authentication mechanisms • .NET, COM, WMI, ADSI, XML, ADO, web services, WSMAN, native code, etc. • Simple scripting to systems programming Shells, ISEs, GUI s, Applications Scripting Language Automation Platform (API) Type Normalizers Type Normalizers In-Proc, Local, RemoteRuntime Engines Type Normalizers In-Proc, Local, RemoteRuntime Engines In-Proc, Local, RemoteRuntime Engines Automation Frameworks Automation Frameworks Automation Frameworks Events, Jobs, Transactions Providers Cmdlets
Universal Automation (Power) User Experience Shell and Tools PowerShell Language Script Debugger Engine Object Manager Mobile Object Model Remoting and Eventing Pipeline Processor Execution Context Background Jobs Restricted PS Sessions Extensibility and hosting Cmdlets WMI XML ADSI .NET COM ADO
Mobile Object Model • Optimized but interoperable • Live .NET objects whenever possible • Typed property bags when necessary • Serialization across PS session boundaries • 24+ core data types • Everything else becomes a string • Customization through typeXML entries • Automatic deserialization • Type: Deserialized.OriginalType • Tag: ComputerName
Kinds of remoting -ComputerName WMI Cmdlets Raw WS-Man (WinRM) PowerShell Remoting DCOM, LDAP, RPC, ... WS-MAN WMI
Demo Universal Automation