Windows Management TechnologiesWindows Management Technologies
Eric NelsonApplication [email protected] Finish 2:45 for break
Microsoft Confidential
AgendaAgenda
Dynamic Systems Initiative and Design for OperationsWindows Server Technologies
Microsoft Management Console 3.0 (MMC)Windows PowerShellWindows Eventing 6.0Task Scheduler 2.0Also
Group PolicyWindows Management Instrumentation (WMI)WS-Management
DSI AND DFODSI AND DFO
Dynamic Systems Initiative and Design For Operations – ITO?
Dynamic Systems Initiative Dynamic Systems Initiative
The Problem - ComplexityIT Systems are Complex
What applications are not running?What are the dependencies?
Administration is Resource IntensiveAutomation is difficult
The solution – Dynamic Systems InitiativeCapturing Knowledge in Software Models SDM/SML
Application Architecture, DataCenter, IT PolicyUse knowledge throughout application lifecycle
Design, Development, Deployment, Operations
DSI ProgressDSI Progress
Long term Vision4 years on...
What is Design For Operations?What is Design For Operations?
Designing and Building Applications to the DSI Vision
Building applications that can be deployedBuilding applications that can be operatedCaring about Operations
Attempts to addressDevelopers and IT Staff Don’t talk (until there is a problem)Applications can not be configured or proactively monitored with management tools used by IT StaffNo Knowledge SharingDevelopers required to troubleshoot
Benefits of Design for OperationsBenefits of Design for Operations
To the Customers IT StaffLowers the total cost of ownership for the applicationStreamlines datacenter operationsReduces downtimeBrings rapid return on the investmentBrings problem solving expertise directly to the users
To the ISVReduce frequency of Problem EscalationSpend Less Time Maintaining Existing ApplicationsLower Support CostsCustomer advocacyFacilitate Capture of Next Version Requirements
Sidebar: Do you recognise a pattern?
Sidebar: Do you recognise a pattern?Client applications hard to deploy and maintain
Customers turn to the BrowserISVs with traditional “rich clients” lose outISVs that switch to the browser bare the cost of increased complexity of developmentYet all along, you could build “rich clients” that were good citizens
Server applications hard to deploy and maintainCustomers switch from on-premise to on-demandISVs with on-premise lose outISVs that switch to on-demand bare the cost of increased complexity of developmentYet all along, you could build server applications that were good citizens
Design the Application to be Operated
Design the Application to be OperatedHealth Model
“What is not working and how bad is it?”How to Detect something is wrongHow to Correct problem
Realized through InstrumentationEventsPerformance CountersWMI Management consoles
Implementing is about…Implementing is about…
InstrumentationEventsPerformance Counters
Implementing an Administration SurfaceMicrosoft Management ConsoleWindows PowerShellTask SchedulerWindows Management InstrumentationGroup Policy
Build an InstallerBuild a Management Pack
THE NEW BITSTHE NEW BITSThat make things a lot easier...
Microsoft Management Console 3.0
Microsoft Management Console 3.0What is Microsoft Management Console 3.0?
Provides a common administration GUI
Why use Microsoft Management Console 3.0?Build administrative consolesSame technology Windows usesConsistent management experience for administratorsReduced Development Costs (with version 3.0)
Managed CodeLess Code
Windows PowerShellWindows PowerShell
What is Windows PowerShell?Command Line Shell and Scripting Language
Why use Windows PowerShell?Easy to Adopt, Learn and UseProvides consistent syntax and standard, uniform utilitiesAutomates Bulk System Administration TasksAccelerates Authoring, testing, and debugging of scriptsEasy to build Custom Windows PowerShell CommandsManaged CodeEasy to Provide GUI (via MMC or Windows Forms)
Windows PowerShell EngineWindows PowerShell Engine
Custom ApplicationCustom Application
Microsoft Management Console 3.0Microsoft Management Console 3.0
PSObjectPSObject
Windows PowerShell CmdletsWindows PowerShell CmdletsCommand Command LineLine
GUIGUI
MMC 3.0 Layered Over Windows PowerShell
MMC 3.0 Layered Over Windows PowerShell
Layered OverLayered Over
Windows FormsWindows Forms
Early Bound ObjectsEarly Bound Objects
Your Your ApplicationApplication
To ManageTo Manage
Windows PowerShell &Microsoft Management Console 3.0
Windows PowerShell &Microsoft Management Console 3.0
Cmdlet – “get-proc”Cmdlet – “get-proc”
namespace Microsoft.Samples.PowerShell.Commands
{
#region GetProcCommand
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet
{
protected override void ProcessRecord()
{
Process[] processes = Process.GetProcesses();
// Write the processes to the pipeline making them available
// to the next cmdlet.
WriteObject(processes, true);
}
}
namespace Microsoft.Samples.PowerShell.Commands
{
#region GetProcCommand
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet
{
protected override void ProcessRecord()
{
Process[] processes = Process.GetProcesses();
// Write the processes to the pipeline making them available
// to the next cmdlet.
WriteObject(processes, true);
}
}
•Build the cmdlet•using System.Management.Automation
•Build a snapin to install the cmdlet(s)
Windows Eventing 6.0Windows Eventing 6.0
What is Windows Eventing 6.0?Logs Event Information to the Application Logs, updated in Longhorn ServerLets Administrators and management tools know what is happening
Why Use Windows Eventing 6.0?Better Performance & ReliabilityDeclarative Event StructureSubscriptionsUnified API for Eventing and TracingEvent ForwardingBenefits for Administrators
Logs Easier to Manage, Search and FilterBetter Tools
Benefits for DevelopersRicher Eventing and Tracing Capabilities
Task SchedulerTask Scheduler
What is Task Scheduler?Windows Service for executing and managing the execution of jobs
Several enhancements in version 2.0:Removed limitations on the number of registered tasksScripting supportCreation/management of tasks through XML-formatted docsNew triggers (time, calendar, and event)Prioritization of tasks (i.e. define multiple instance policies, start a task only when it is available or only if the network is available, restart on failure, and set an execution time limit)New actions (send email, show message box, start exe, and fire a COM handler)
Tasks and EventingTasks and Eventing
Not forgetting…Not forgetting…
Group PolicyBulk Manage Windows Client Application Configuration
Enforce Configuration to Client ApplicationsEnable mass configuration of client Applications
WMIExpose Configuration/Management data and tasks to the OS
Allow Scriptable Configuration ChangesAllow Remote management
WS-ManagementStandard Specification for accessing management data
Common, platform neutral, network friendly access to management data such as WMISecure
SummarySummary
Easier than ever before for an ISV to make every Administrator whoop for joy when they admin your solutionDSI and DFO are “work in progress” – but already an ISV can get great wins
ResourcesResources
DSIDSI core principles
http://www.microsoft.com/windowsserversystem/dsi/dsicore.mspx
DSI homehttp://www.microsoft.com/windowsserversystem/dsi/default.mspx
Powershellhttp://blogs.msdn.com/powershell/ http://powergui.org/
MMC 3.0 and Powershell downloadshttp://blogs.msdn.com/ericnel