Building your administration gui over windows powershell
Download
1 / 18

Building Your Administration GUI over Windows PowerShell - PowerPoint PPT Presentation


  • 400 Views
  • Updated On :

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Building Your Administration GUI over Windows PowerShell' - whitcomb


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Building your administration gui over windows powershell l.jpg

SVR12

Building Your Administration GUI over Windows PowerShell

Kenneth Hansen, Program Manager

Narayanan Lakshmanan, Developer

Microsoft Corporation


Slide2 l.jpg

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


Slide5 l.jpg

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

A Very Simple GUI

demo

Narayanan Lakshmanan

Developer

Windows Management


What did we leverage l.jpg
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 l.jpg

Remote UI, Focused actions and Script display

demo

Narayanan Lakshmanan

Developer

Windows Management


What did we leverage9 l.jpg
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 l.jpg

Delegation and Customized UI

demo

Narayanan Lakshmanan

Developer

Windows Management


Powershell delegated administration l.jpg
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 commandline12 l.jpg
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


Slide13 l.jpg

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



Slide15 l.jpg

YOUR FEEDBACK IS IMPORTANT TO US!

Please fill out session evaluation forms online at

MicrosoftPDC.com


Learn more on channel 9 l.jpg
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….


ad