1 Monad – A New Command Shell Jeffrey Snover, Architect James Truher, Program Manager TLN303 Microsoft Corporation.

Slides:



Advertisements
Similar presentations
Jeffrey Snover Partner Architect Microsoft Corporation ES24.
Advertisements

Faith Allington Program Manager Microsoft Corporation WSV322.
Microsoft PowerShell Tom Roeder CS fa. Motivation.NET as a platform shell web server database access Native access to resources eaiser to manage.
MGT305 Windows PowerShell Next Generation Command Line Scripting Jeffrey Snover & Leonard Chung Windows Enterprise Management Division.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
More Control and Flexibility Vitalis Konopelec Technology Solution Professional Microsoft Slovakia s.r.o.
IIS7: Building New Core Server Modules Michael Volodarsky COM406 Program Manager Microsoft Corporation.
Scelta della tecnologia di presentazione dei dati.
Monad: Microsoft’s Next Generation Command Shell Thomas Lee Chief Technologist QA plc.
It’s always better live. MSDN Events Developer Productivity Improvements with Visual Studio 2008 and Office Business Applications.
IIS7 for Developers Leon Langleyben Chief Architect SRL Group
Daniel Petri MVP, Microsoft Infrastructure Manager John Bryce Training November 2007.
Executive Overview. PLEASE READ (hidden slide) To deliver this presentation effectively, you need to be familiar with Windows Server 2008 R2 management.
Technical Overview. PLEASE READ (hidden slide) To deliver this presentation effectively, you need to be familiar with Windows Server 2008 R2 management.
 Jeffrey Snover Partner Architect Microsoft Corporation.
IIS 7: The Next Generation Web Application Server Platform Michael Volodarsky Program Manager Web Platform and Tools Team Microsoft Corporation.
Managing and Monitoring SQL Server 2005 Shankar Pal Program Manager SQL Server, Redmond.
René Balzano Technology Solution Professional Data Platform Microsoft Switzerland Database Development with SQL Server Data Tools (SSDT)
Created by the Community for the Community Building a RFID solution in BTS 09.
SQL Server 2005 Integration Services Mike Taulty Developer & Platform Group Microsoft Ltd
Future Directions for Leveraging Advanced XML Tools and Building Custom XML Solutions Denise Draper DAT321 Microsoft Corporation.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
1 Developing Rules Driven Workflows in Windows Workflow Foundation Jurgen Willis COM318 Program Manager Microsoft Corporation.
System Center Operations Manager 2007 Dave Northey Microsoft Ireland.
Matt Ayers Senior Program Manager Microsoft Corporation WCL403.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
DBA230 Introducing SQL Server 2000 Reporting Services Jason Carlson Product Unit Manager SQL Server Microsoft Corporation.
2 A First Look at Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Using the WDK for Windows Logo and Signature Testing Craig Rowland Program Manager Windows Driver Kits Microsoft Corporation.
Microsoft Dynamics Snap Michael McClary ISV Developer Evangelist Microsoft Corporation.
Windows PowerShell Deep Dive 1 Morgan Simonsen Ementor.
Windows Presentation Foundation. Agenda Introduction Developing Applications WPF and WF interoperability Custom Controls Styles and Templates Data Binding.
Introducing Reporting Services for SQL Server 2005.
ADM 331 Administrative Scripting for IIS 6.0 Using WMI Alexis Eller Program Manager Internet Information Services (IIS)
Exploiting New Capabilities for Search And Organization Kerem Karatal DAT307 Lead Program Manager Microsoft Corporation.
Universal Data Access and OLE DB. Customer Requirements for Data Access Technologies High-Performance access to data Reliability Vendor Commitment Broad.
Good Morning and Thank You!.  Have some Fun!  Learn at least one thing new!  Make myself available to you So please …  Ask questions and enjoy!
Chinmay Gokhale SE | Microsoft
“ WinFS” Future Directions: Building Data-Centric Applications Using Windows Presentation Foundation “Avalon” and Windows Forms Ramesh Nagarajan DAT310.
What’s New in SharePoint 2010 SharePoint 2010 Development Primer New Developer Tools for SharePoint 2010 SharePoint 2010 Integration with PowerShell.
Lap Around Windows Presentation Foundation Rob Relyea PRS305 Lead Program Manager Windows Presentation Foundation
Windows PowerShell Introduction 1 Morgan Simonsen Ementor.
1 Building Manageable Apps: Admin Scripting & Automation Jeffrey Snover Management Architect Microsoft Corporation Jeffrey Snover.
What’s New in Windows Forms 2.0 Stephen Turner Software Design Engineer
Windows Vista for developers Beyond NetFx3 Daniel Moth Developer & Platform Group, Microsoft msdn.
MSG 334 Creating Exchange Administrative Scripting for the Non-Programmer Susan Hill Lead Programmer Writer Microsoft Corporation.
Module 14: Advanced Topics and Troubleshooting. Microsoft ® Windows ® Small Business Server (SBS) 2008 Management Console (Advanced Mode) Managing Windows.
POWERSHELL ABOVE AND BEYOND: GUIS, WORKFLOWS, AND MORE Dean Corcoran Partner Service Account Manager (Cloud) – MCT – MCITP:EA Microsoft Australia SESSION.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
Introduction to SQL Server 2000 Reporting Services Jeff Dumas Technical Specialist Microsoft Corporation
V7 Foundation Series Vignette Education Services.
BizTalk Damir Dobric Lead Architect. Agenda Microsoft BizTalk RFID Overview Architecture Application models Implementing Event Handlers Sensors.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Mikael Deurell Senior Consultant Microsoft Mail: Blog: blogs.msdn.com/deurell.
PowerShell 5 & Windows 10. What are we covering today? What is PowerShell? Why is PowerShell important? Some simple demos on Windows 10.
Building Complete Web Application Using ASP.NET 3.5 & Visual Studio 2008 Omar Khan Group Program Manager Visual Studio.
Building Enterprise Applications Using Visual Studio®
Introducing SQL Server 2000 Reporting Services
Make your app a native part of Office with Add-ins
5/20/2018 2:53 AM © 2006 Microsoft Corporation. All rights reserved.
Visual Studio Tools for Office 2005
"Oslo”: Customizing and Extending the Visual Design Experience
MIX 09 11/23/2018 6:07 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Forms in Visual Studio 2005: An in-depth look at key features
SharePoint 2007 Developer Overview Collaboration BI Features
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

1 Monad – A New Command Shell Jeffrey Snover, Architect James Truher, Program Manager TLN303 Microsoft Corporation

2 Top 10 Developer Calls To Action  Follow the Windows Vista style guidelines Look like a great Windows Vista app by using the common file dialogs, and providing high resolution live icons and preview controls for the shell  Enrich the user experience Use Windows Presentation Foundation to create engaging, scalable interfaces with multimedia, vector graphics and animation  Enable users to visualize, search, and organize Provide metadata for your file formats and enable search and organize in your applications  Run securely Use least privilege user accounts and limit elevation requests; express privilege demands and limitations using Code Access Security  Design for reliability and manageability Use the new event logging and performance instrumentation capabilities for monitoring, troubleshooting, and analysis of your application; make it easy to deploy and update by using Windows Installer and ClickOnce  Establish a customer feedback loop Use the Windows Feedback Platform to log user errors, and Windows Developer Portal to analyze and fix them  Build for connected systems Use Windows Communication Foundation to build connected systems that provide secure and reliable interoperability; take advantage of Windows Workflow Foundation to enable flexible workflow in applications  Bring data to the user with RSS Use the Windows Vista RSS common feedlist, shared data store, sync and parsing engine, and list extensions to RSS  Make document data accessible Use the same open XML file format as XPS and Office "12” to make documents easier for users to find, manage and integrate  Build for mobility Run great on laptops using power management and network awareness APIs; use advanced ink and gesture support for mobile user interfaces Make an impression Be rock solid Get connected

3 Microsoft Management Administrative Control and Scripting Monad Shell (msh.exe) Task Scheduler 6.0 Windows Management Infrastructure (WMI & WMIC) WS-Management and tools Command Prompt (cmd.exe) Microsoft Management Console 3.0

4 Roadmap ScenarioTodayTomorrow GUI Shell MMC MMC with snap-ins layered on Monad Command Shell CMDCMDSHCSHKSHMonad Command Scripting CMD scripting Monad COM Scripting WSH VBScript VBScript Jscript JscriptWSH VBScript VBScript Jscript Jscript Jscript (.NET) Monad

5 Monad Command Shell Motivation User experience Preferred interaction model is Command-line oriented scripting Architectural Refactor shell, commands, and utilities Objectflow engine Integrate command line, COM, and.NET scripting Inspirations Unix Shells and Utilities Compositional model is extremely powerful AS400 / VMS Naming and syntactic consistency aids in learning TCL / WSH Embeddable & multi-language support BASH, PERL, C# Style, utility, and expressiveness

6 ObjectFlow Engine Cmdlets emit objects Synthetic type system Extendable by third-parties and users Provides common data access syntax Engine manages pipeline objects It shreds and coerces objects for parameter binding It renders into textual views for interactive users or interoperability Utilities are object manipulators

7 Monad Value Proposition Developers write.NET interfaces to management objects Thin Cmdlets/Providers for a rich experience Monad exposes Cmdlets => command line tools Provider data => navigable drives Monad provides Interactive shell Strong language supporting Command line, COM, and.NET scripting styles Single parser/argument validator Utilities and formatting

8 Cmdlet Development Focus on the experience of admin tasks Sub-class CMDLET Use attributes to expose properties as parameters Override one or more method BeginProcessing(), ProcessRecord(), EndProcessing(), StopProcessing() Use helper functions WriteProgress(), WriteDebug(), WriteObject(), WriteError(), WriteVerbose() ShouldContinue(), ShouldProcess() ThrowTerminatingError()

9 Management Cmdlet James Truher Program Manager AxP

10 Provider Development Focus on experience of interacting with your data Implement one or more abstract classes and interfaces Abstract classes ContainerCmdletProvider, DriveCmdletProvider, ItemCmdletProvider, NavigationCmdletProvider Interfaces IContentProvider, IPropertiesProvider, IPermissionProvider, etc Use attributes to expose capabilities CmdletProvider, SupportsShouldProcess

11 JET Database Provider James Truher Program Manager AxP

12 A Command Scripting Language Scripting languages do not lend themselves to an interactive shell Opportunity to improve learn-ability through better consistency Provide production ready scripting $a = get-process # vs Declaration $a > filename # Easy file interaction copy-item a b # No Quoting arguments While ( ) { } # vs while … do … done If ( ) { } # vs if … then … fi Switch ( ) { } # case … ;; esac

13 Tools For Discovery Get-Help Retrieves documentation about Cmdlets and language topics Get-Command Retrieves information about Cmdlets, scripts, aliases, functions, filters and native executables Get-Member Retrieves information about Objects

14 Uniform Data Access Syntax XMLWMI/ADSI > $x.Handles (msh) vs. x.Properties[“Handles”] (vbs) ADO Column names mapped to properties Synthetic types created when possible System.__ComObject#{d30c1661-cdaf-11d0-8a3e- 00c04fc9e26e} System.Xml.XmlElement# _MNGT/2004/07#NumericSensor System.Management.ManagementObject#root\cimv2\ Win32_ Process $x=[xml]"<a><b><c>TEST</c></b></a>"$x.a.b.c $x | format-custom

15 Scripting Text.NET String class is the foundation class Many.NET classes can be created with strings Native support for useful datatypes Arrays, HashTable, Regex, XML Rich string operators Match, Like, Replace, Multiply, Add [datetime]"1/1/2006"[xml]"<a><b>test</b></a>“[system.io.fileinfo]"C:\windows\notepad.exe"

16 Scripting COM New-Object –ComObject New-Object –ComObject Binds to automation-compatible COM objects Reflect for properties/methods Access properties/methods Use in pipelines and utilities

17 Scripting.NET Create.NET objects $d=New-Object System.DateTime 2005,4,20 Inspecting/Accessing properties-methods $d.DayOfWeek$d.AddMonths(6)[DateTime]::Now[DateTime]::IsLeapYear(2005) Method matching is done via least-type differencing Use casts to override [DateTime]::IsLeapYear([INT]$x)

18 All Together Now James Truher Program Manager AxP

19 Call To Action! Write.NET interfaces to your management objects Expose tasks by creating classes which derive from Cmdlet Expose (hierarchical) data by implementing a Provider Write and share scripts

20 Community Resources At PDC For more information, go see FUN311 Manageable Apps, FUN301 MMC 3.0, FUN315 Perf counters, FUN316 Schematized Events, Hands-on-Labs: TLNHOL06 (cmdlet), TLNHOL08 (provider), TLNHOL25 (scripting) Ask The Experts table Tools and Languages Track lounge After PDC ScriptCenter: Newsgroup: Microsoft.Public.Windows.Server.Scripting Channel 9 tag: Team blog: Wiki: 2 Monad “Best of TechEd” Webcasts

21 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.