monad: microsoft’s next generation command shell thomas lee chief technologist qa plc
Post on 22-Dec-2015
215 views
TRANSCRIPT
Monad: Microsoft’sMonad: Microsoft’sNext Generation Command ShellNext Generation Command Shell
Thomas LeeThomas Lee
Chief TechnologistChief Technologist
QA plcQA plc
AgendaAgenda
What is Monad?What is Monad?
Where does it fit in?Where does it fit in?
Having it your wayHaving it your way
Interaction styleInteraction style
SecuritySecurity
Admin levelsAdmin levels
Scripting stylesScripting styles
DatatypesDatatypes
MonadMonad
Next generation shell that is:Next generation shell that is:
As As interactiveinteractive and and composablecomposable as BASH/KSH as BASH/KSH
As As programmaticprogrammatic as Perl/Ruby as Perl/Ruby
As As production orientedproduction oriented as AS400 CL/VMS DCL as AS400 CL/VMS DCL
Access data stores as easily as accessing filesystemsAccess data stores as easily as accessing filesystems
RoadmapRoadmapScenarioScenario TodayToday TomorrowTomorrow
GUI ShellGUI Shell MMCMMC MMC with snap-ins layered on MMC with snap-ins layered on MonadMonad
Command ShellCommand Shell CMDCMD CMDCMD
SHSH
CSHCSH
KSHKSH
MonadMonad
Command ScriptingCommand Scripting CMD scriptingCMD scripting CMD scriptingCMD scripting
MonadMonad
COM ScriptingCOM Scripting WSH WSH
VBScriptVBScript
JscriptJscript
WSHWSH
VBScriptVBScript
JscriptJscript
Jscript (.NET)Jscript (.NET)MonadMonad
Monad: Have it Your Way!!Monad: Have it Your Way!!
InteractionInteractionStyleStyle
SecuritySecurity AdminAdminLevelLevel
ScriptScriptStyleStyle
DataTypesDataTypes
GUIGUI RestrictedRestricted OperatorOperator TextText .Net.Net
CLICLI AllsignedAllsigned Simple ScripterSimple Scripter COMCOM XMLXML
SystemSystemCodeCode
RemoteRemoteSignedSigned
AdvancedAdvancedScripterScripter
.NET.NET WMI/ADSIWMI/ADSI
UnrestrictedUnrestricted SophisticatedSophisticatedScripterScripter
CmdsCmds ADOADO
StyleStyle
GUI verses CLI verses Systems Programming
StyleStyle
GUI
Cmd
VS
SecuritySecurity
Restricted (Operator mode)Restricted (Operator mode)Interactive onlyInteractive only
No scripts can be runNo scripts can be run
AllSignedAllSignedEvery script must be signed by a trusted sourceEvery script must be signed by a trusted source
RemoteSignedRemoteSigned““Internet Zone” Scripts must be signed by a trusted sourceInternet Zone” Scripts must be signed by a trusted source
UnrestrictedUnrestrictedAny script will runAny script will run
Always warn about Remote ScriptsAlways warn about Remote Scripts
Supporting Your Security NeedsSupporting Your Security Needs
DemoDemo
Admin LevelsAdmin LevelsOperatorsOperators
Command line onlyCommand line only
Simple ScripterSimple ScripterSimple sequences Simple sequences Untyped variablesUntyped variablesFunctions with unnamed parametersFunctions with unnamed parameters
Advanced ScripterAdvanced ScripterTyped variablesTyped variablesFunctions with named, typed parametersFunctions with named, typed parameters
Sophisticated ScripterSophisticated ScripterScoped variablesScoped variablesFunctions with initialized parametersFunctions with initialized parametersFunction cmdletsFunction cmdletsScriptblocksScriptblocks
Supporting Your Admin LevelsSupporting Your Admin Levels
DemoDemo
Script TypeScript Type
TextText
.Net “interpretation” of the traditional Unix scripting model.Net “interpretation” of the traditional Unix scripting model
COMCOM
WSH/VBScript style scriptingWSH/VBScript style scripting
.NET.NET
Manipulate any native .Net objectManipulate any native .Net object
CommandsCommands
Monad cmdlets emitting objectsMonad cmdlets emitting objects
Supporting Your Script Types Supporting Your Script Types
DemoDemo
DataTypesDataTypes
.Net.Net
XMLXML
WMI/ADSIWMI/ADSI
ADOADO
Supporting Your Data TypesSupporting Your Data Types
DemoDemo
RoadmapRoadmapScenarioScenario TodayToday TomorrowTomorrow
GUI ShellGUI Shell MMCMMC MMC with snap-ins layered on MMC with snap-ins layered on MonadMonad
Command ShellCommand Shell CMDCMD CMDCMD
SHSH
CSHCSH
KSHKSH
MonadMonad
Command ScriptingCommand Scripting CMD scriptingCMD scripting CMD scriptingCMD scripting
MonadMonad
COM ScriptingCOM Scripting WSH WSH
VBScriptVBScript
JscriptJscript
WSHWSH
VBScriptVBScript
JscriptJscript
Jscript (.NET)Jscript (.NET)MonadMonad
SummarySummary
Monad provides a single consistent tool to access and Monad provides a single consistent tool to access and script all the data sources and data types you need to script all the data sources and data types you need to manage your systemmanage your system
Ships as a download in 06Ships as a download in 06
Beta available now at: Beta available now at: www.microsoft.com/downloadswww.microsoft.com/downloads
Search for MONADSearch for MONAD
Community ResourcesCommunity Resources
Newsgroup: Microsoft.Public.Windows.Server.ScriptingNewsgroup: Microsoft.Public.Windows.Server.Scripting
Channel 9 tag: Channel 9 tag: http://channel9.msdn.com/tags/Monadhttp://channel9.msdn.com/tags/Monad
Team blog: Team blog: http://blogs.msdn.com/monad/default.aspxhttp://blogs.msdn.com/monad/default.aspx
Wiki:Wiki: http://channel9.msdn.com/wiki/default.aspx/Channel9.MSHWikihttp://channel9.msdn.com/wiki/default.aspx/Channel9.MSHWiki
2 Monad “Best of TechEd” Webcasts 2 Monad “Best of TechEd” Webcasts http://www.microsoft.com/events/series/teched2005.mspxhttp://www.microsoft.com/events/series/teched2005.mspx
Ask The ExpertsAsk The ExpertsGet Your Questions AnsweredGet Your Questions Answered
You can find Jeffrey at the Microsoft Ask the You can find Jeffrey at the Microsoft Ask the Experts area, located in the Exhibition Hall:Experts area, located in the Exhibition Hall:
ThursdayThursday 17 November 17 November 12:45 – 14:1512:45 – 14:15
Are you playing?Are you playing? If you do. . . If you do. . .
You Could Win a Portable DVD PlayerYou Could Win a Portable DVD Player
Get your game card at the Get your game card at the Microsoft Management ATE PodsMicrosoft Management ATE Pods
Family of Management ProductsFamily of Management Products
Follow the Management RoadFollow the Management Road
Community ResourcesCommunity Resources
Community ResourcesCommunity Resources
http://www.microsoft.com/communities/default.mspxhttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)Most Valuable Professional (MVP)
http://www.microsoft.com/communities/mvphttp://www.microsoft.com/communities/mvp
NewsgroupsNewsgroups
Converse online with Microsoft Newsgroups,Converse online with Microsoft Newsgroups,including Worldwideincluding Worldwide
http://communities2.microsoft.com/communitieshttp://communities2.microsoft.com/communities/newsgroups/en-us/default.aspx/newsgroups/en-us/default.aspx
User Groups - Meet and learn with your peersUser Groups - Meet and learn with your peers
http://www.microsoft.com/communities/usergroupshttp://www.microsoft.com/communities/usergroups/default.mspx/default.mspx
Microsoft Learning ResourcesMicrosoft Learning Resources
Come and talk to Microsoft Learning to find out more about developing your skills, you can kind us in the ‘Ask the Experts’ area
Special offers on Microsoft Certification from Microsoft Learning
Click here to access free Microsoft Learning Assessments http://www.microsoft.com/learning/assessment/ind/default.asp
and FREE elearning for Microsoft Visual Studio 2005 and Microsoft SQL Server 2005 with free Assessments and E-Learninghttp://www.microsoft.com/learning/mcp/
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.