1 / 18

Building Your Administration GUI over Windows PowerShell

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.

inez-robles
Download Presentation

Building Your Administration GUI over Windows PowerShell

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SVR12 Building Your Administration GUI over Windows PowerShell Kenneth Hansen, Program Manager Narayanan Lakshmanan, Developer Microsoft Corporation

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

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

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

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

  6. A Very Simple GUI demo Narayanan Lakshmanan Developer Windows Management

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

  8. Remote UI, Focused actions and Script display demo Narayanan Lakshmanan Developer Windows Management

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

  10. Delegation and Customized UI demo Narayanan Lakshmanan Developer Windows Management

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

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

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

  14. Q & A

  15. YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com

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

More Related