190 likes | 300 Views
SVR12. Building Your Administration GUI over Windows PowerShell. Kenneth Hansen, Program Manager Narayanan Lakshmanan, Developer Microsoft Corporation. Management Landscape. Internal Customers. External Customers. “Click and Run ”. “Click once repeat often” Admins.
E N D
SVR12 Building Your Administration GUI over Windows PowerShell Kenneth Hansen, Program Manager Narayanan Lakshmanan, Developer Microsoft Corporation
Management Landscape Internal Customers External Customers “Click and Run” “Click once repeat often” Admins “Install and forget” Service Operations Service Partners Engineering Support Frequency of use Population size Key considerations: • Deterministic, fool proof • Repeatable • Scalable Key considerations: • Easy to use AND Flexible • Consistent and discoverable • Fast and responsive Create custom automation across islands of technology Support GUI and Command Line
PowerShell Enables GUI/CommandLine Consistent Commands • Verb-Noun syntax • Standard set of verbs Adaptive Type System • default display property set • custom properties/methods • csv, xml, ado, etc Customization • Script Cmdlets – provide right abstractions to admins/users • Customized Runspaces Fluent .Net API • Follows ADO.Net Model • Data binding • State persisted and stateless executions Built-in Remoting
GUI over PowerShell Design Principles Separation of business and presentation logic is key • Enables “skinning” the same operations through many tools • Otherwise much time can be spent building one-off solutions • Enables partitioning of engineering work Large surface area should not mean exposing everything to everyone • Some customers may never need to or should never see <feature x> • Even within the same customer, there are multiple personas (AD vs. Exchange admin) • Different personas have different scopes of responsibility Don’t expect users to figure it all out the first time or ever • Make it simple • Make it consistent • Make it flexible • Err on the side of frequent failures, and then auto or easy recovery
Management Stack Internal Customers External customers Interactive Cmdline Interactive Cmdline Automated management Partner Applications Web Client Rich client Integrated management service WPF application PowerShell client runtime WinRM Client Authentication Windows Auth Impersonation PowerShell server runtime Custom Endpoint CSV files to define roles IIS Host Process WinRM Plugin Customized using scripts & ACLs Authorization Mailbox CSV files for UI control mapping Store AD Element Managed Elements
A Very Simple GUI demo Narayanan Lakshmanan Developer Windows Management
What did we leverage? • Command Consistency and Discovery • Verb-Noun • Script Cmdlets • Easily construct composite commands • Adaptive Type System • Default Display Property Set • Simple PowerShell hosting API • Easy Data Binding
Remote UI, Focused actions and Script display demo Narayanan Lakshmanan Developer Windows Management
What did we leverage? • Built-in Remoting • Adaptive Type System • custom properties/methods • csv, xml, ado, etc • Stateless execution (runspace pool) • PowerShell API (Script Display)
Delegation and Customized UI demo Narayanan Lakshmanan Developer Windows Management
PowerShell Delegated Administration Remoting execution connects to an endpoint • PS> New-PSSession –ConfigurationName Inventory Register endpoints with a Name, ACL, StartupScript StartupScript can configure • LanguageMode: Full, Restricted, None • Commands available Delegate by… • Registering Endpoints with different capabilities • Scripting different capabilities based upon incoming request
PowerShell Enables GUI/CommandLine Consistent Commands • Verb-Noun syntax • Standard set of verbs Adaptive Type System • default display property set • custom properties/methods • csv, xml, ado, etc Customization • Script Cmdlets – provide right abstractions to admins/users • Customized Runspaces Fluent .Net API • ADO.Net Model • Data binding • State persisted and stateless executions Built-in Remoting
Management Landscape Internal Customers External Customers “Click and Run” “Click once repeat often” Admins “Install and forget” Service Operations Service Partners Engineering Support Frequency of use Population size Key considerations: • Deterministic, fool proof • Repeatable • Scalable Key considerations: • Easy to use AND Flexible • Consistent and discoverable • Fast and responsive Create tailored automation across islands of technology Support GUI and Command Line
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com
Learn More On Channel 9 • Expand your PDC experience through Channel 9 • Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses channel9.msdn.com/learn Built by Developers for Developers….