Rocking the Windows Server “8” Administrative Experience

Howdy! My name is Jeffrey Snover. I am the Distinguished Engineer for Windows Server where I help drive the architectural direction and technical strategy of the product. It’s possible you know me as the inventor of Windows PowerShell. As we continue to use this blog to introduce and explain the new capabilities in Windows Server “8,” I will be introducing the team members and their posts. I’ll also be writing some of the posts myself. Think of me as your host and guide as we help you explore Windows Server “8” with this blog. We’ll start with something near and dear to my heart: Admins.

Windows Server has always distinguished and prided itself on its Administrative Experience. Our mission for Windows Server “8” was to deliver the best cloud-optimized OS. This required us to reimagine the experience, focusing on scenario-based multi-machine management from a client machine implemented on top of PowerShell and WMI. When you see and use it, I think you’ll agree that it is clean, powerful, intuitive and just plain fun. The architecture ensures that everything you can do from the GUI, can also be automated from the command line. Automation drives up your server-to-admin ratio, increases the quality and repeatability of your IT operations and lets you schedule operations on the weekend while you are enjoying your time off. Ultimately the Administrative Experience is all about making people successful. This blog highlights a few of the many changes we made in Windows Server “8.” Read about them here and then download the beta of Windows Server “8” and the Remote Administration Tools and try them for yourself. I think you are going to have some fun.

Erin Chapple, a Partner Group Program Manager on our Windows Server Manageability team, authored this post.

One of Windows Server’s key differentiators has always been our focus on providing an Administrative Experience that leads the industry in enabling administrators to manage their servers. Windows Server “8” takes this to a whole new level with substantial improvements in simplicity, richness and the power it provides to administrators.

Redesigned Server Manager and Integrated Experiences

Two releases ago, we introduced Server Manager. Server Manager provided a cohesive role-centric view of a single server, exposing the common management tasks administrators performed on a daily basis. When we looked at challenges facing our customers, it was clear that Server Manager was a good start, but that with Windows Server “8” we needed to reimagine the experience. And so we took on the task of redesigning Server Manager to deliver the experience needed for a cloud-optimized OS.

Multi-Server

As we move to the cloud, one of the key shifts needed in Server Manager was from the single role-centric view to a multi-sever view of the environment. Server Manager delivers a multi-server experience enabling administrators to add the servers they are responsible for, view information (such as events, services, performance) across their servers and take action. In addition, the Administrative Experience is consistent across servers whether they are physical or virtual. Server Manager accomplishes this by leveraging the multi-machine management capabilities of WMI, Windows PowerShell and Windows PowerShell’s new workflow capabilities. Virtually every operation done using Server Manager can also be done via Windows PowerShell. This allows admins to automate operations thereby saving time, increasing quality and consistency and improving server-to-admin ratios.

Fresh Yet Familiar Experience

With the design movement across Microsoft to Metro style, it was clear we had an opportunity to modernize the Administrative Experience. The battleship grey that server can be identified with needed to be refreshed and brought forward. And yet, we know that any new experience needed to be connected with how administrators get things done today, so as not to disrupt their work patterns. As a result, we looked at the Metro Style Design Principals and centered on three areas of focus for the new Server Manager:

· Glance-able – The administrator can understand through a quick glance the state of their environment and where they need to focus their attention.

The Server Manager dashboard provides a glance-able view of the server environment, drawing attention to the key issues needing attention.

· Actionable – The administrator can take action directly based upon the information presented to them. No need to open another tool, just a simple click resolves the issue.

From the Server Manager dashboard, the user can view the Services that are not stopped and start the service across multiple machines.

· Relevant – The administrator can to tailor the experience to their needs. The information presented should be customizable based upon their environment and responsibility to provide just what they need.

From the Manage menu in Server Manager the administrator can add a custom group to display on the dashboard.

The custom server group will appear as a tile on the dashboard and the administrator can then understand the state of this group.

Integrated Scenario-based Experiences

Server Manager provides a set of consistent tasks across servers, allowing the administrator to drill-into server-specific views to understand the state of their environment and take action. Server-centric views are only one pivot necessary for effective management. Role-centric views are equally important, and with the newly redesigned Server Manager there are several server roles that extend Server Manger to provide scenario-based experiences for managing their role.

File Services, Remote Desktop Services and IP Address Management have all delivered new Administrative Experiences that follow the Server Manger design principles outlined above. The result is a combined experience that is contextual to what the administrator is managing and both guides the user through specific tasks while also providing connected information that is helpful in troubleshooting problems.

The combination of the above scenarios and the shift to multi-machine management means a significant increase in the data exposed within Server Manager. Consuming this information requires enhanced capabilities. Throughout the new Server Manger experience you will see rich filtering and pivoting capabilities for the administrator to find, organize and act on the data provided.

Consistent through Server Manager is the ability to filter lists to easily find information, organize and take action.

Support for Previous Version of Windows Server

Our administrators live in a world where they manage multiple versions of Windows Server. To support providing one view of their server environment we have created a set of new WMI providers that allow Server Manager to collect information from Windows Server 2008 R2 and Windows Server 2008 machines. The providers are available in the Windows Management Framework 3.0 and when installed on a Windows Server 2008 R2 or Windows Server 2008 machine, Server Manager then collects details such as the events and services from these machines and aggregates into the dashboard.

Before we go any further, let’s be clear – we believe in delivering rich GUI experiences that are tailored to administrators and help them accomplish their work easily and efficiently. GUIs are here to stay. The reimagined Server Manger and integrated tools for Windows Server “8” are best of breed for the tasks they expose.

AND the Administrative Experience isn’t just about GUIs.

AND servers should be used for server-related tasks, not as an administrative desktop.

Let’s dig into each of these in some detail.

Command-line Interface (CLI) is part of the Administrative Experience

A number of people have misinterpreted our investment in Windows PowerShell to indicate a transition to a CLI world. They present this is a GUI VERSES CLI issue. We’ve never thought in those terms. We have always viewed Windows PowerShell as additive, so we’ve always viewed this as a GUI AND CLI issue.

There will always be administrators who prefer to use the GUI. That said, there are tasks made more effective through the use of automation and we provide as rich a CLI experience as we do a GUI experience for these customers. More importantly, there are advantages of using an automation solution that are becoming more and more important with the move to cloud and the corresponding scale that we expect from administrators. Namely, automation removes the human factor, increasing reliability, auditability and predictability in the environment. Automation is a whole post unto itself (watch for it!) so we’ll focus on the CLI experience improvements for now, namely the investments we’ve made in making Windows PowerShell Integrated Scripting Environment (ISE) a great onboarding tool for Windows PowerShell.

Here are three of my favorite new features in Windows PowerShell ISE that are targeted at helping you discover, learn and simplify the automation of your servers.

Show Command

With over 2,300 cmdlets in Windows Server “8”, the first question on your mind might be – how do I discover the cmdlet I need to get my job done? The new Show Command windows in Widows PowerShell ISE lets you easily search for cmdlets, discover the parameters and then either run the command or insert it into a script. Show Command takes advantage of the unique architecture of Windows PowerShell where each cmdlet declares its parameters and their metadata and Windows PowerShell provides a single common parser for every cmdlet. This architecture allows Show Command to search cmdlets and use the parameter metadata to generate a GUI interface for the cmdlet. You can have some fun exploring this part of the architecture by typing the following command into Windows PowerShell: (Get-Command Get-Process).ParameterSets

The Show Command window allows the administrator to search the cmdlets available, learn the syntax and either run, insert or copy the command.

Intellisense

Now that I’m familiar with the new cmdlets, the next question is – how do I remember the cmdlets when I’m working? The promise of Windows PowerShell has always been that the consistency of implementation allows you to Think, Type and Get what you need. Intellisense lets you take this to the next level, by exposing the syntax of the cmdlet as you type. As you build up the command, it only shows you those parameters that are consistent with the parameters that you have already selected. Intellisense can almost seem like magic. It can do this because Windows PowerShell V3 uses the .NET Dynamic Language Runtime (DRL) and exposes a public Abstract Syntax Tree (AST) which allows Intellisense to reason about the command line and the context that it is executing in.

The new Intellisense functionality in the Windows Powershell ISE helps administrators discover cmdlets and their syntax.

Intellisense doesn’t just work on the syntax of cmdlets it understands the input needed, here providing insight into the file system so the administrator doesn’t need to remember the path!

Snippets

Now that I’m ready to put my newfound knowledge of the cmdlets into action in a script – how do I remember the syntax for common scripting tasks? Turning on snippets gives me access to common scripting patterns with the click of a mouse! Snippets are also fully extensible which means I can add my own common scripting patterns to avoid have to remember (and type) the pattern each time I write a new script.

After turning on Snippets (Ctrl + J) the administrator can choose from a set of built-in scripting patterns.

In this case the administrator chose the if-else scripting pattern and it is populated for the administrator in the script window.

Through these improvements we’ve significantly increased the approachability of scripting thereby exposing the power of automation to a much broader audience.

Server Core is the Preferred Deployment Option

While we love GUIs, we believe the primary place they should exist is on the administrator’s desktop – not on the Server! Server resources are much more expensive than client resources and running GUIs on servers requires additional software components. Every component increases the security and serviceability exposure of that server so you should only install those components that are necessary to that server workload. Fewer things running on the server means fewer patches and more resources available to the server workload. In this release we’ve made several investments to help administrators succeed in choosing Server Core as the primary deployment option for Windows Server. The traditional “Server with a GUI” is still provided as a backwards compatibility option.

The number of server roles that run on Server Core has increased to 13 with support for SQL 2012, eliminating the most common reason administrators cited for not being able to run in the Server Core configuration. Firewall-friendly remote management (WinRM) and Windows PowerShell are now enabled and installed by default on all servers, removing any configuration needed before being able to manage the server remotely. Windows PowerShell’s 2300+ cmdlets provide the command line coverage necessary for most admin scenarios. For the first time ever, we released a Beta version of the Remote Server Administrative Tools at the same time as the Server Beta providing a rich GUI experience to manage all Servers, including Server Core, from a Windows Client.

Perhaps most significantly however, we’ve added the ability to move between Server Core and “Server with a GUI” without the need to reinstall the server! This means administrators can safely start with their server deployed in the Server Core configuration and if they find they need the GUI they can add it, and also remove it as needed using the SCONFIG CLI tool, Windows PowerShell or the Add/Remove Roles and Features Wizard. Stay tuned for a future blog dedicated to Server Core that will provide you with all the benefits and details of this deployment option.

The default experience for Server Core.

And if that wasn’t enough, introduced in a blog post from earlier this year, we’ve added a Minimal User Experience option which allows GUI tools to run on Server Core but does not install the desktop shell or Internet Explorer. Server Manager and cmd.exe launch by default when you log in and you can use these to launch the other GUI tools. This in-between option provides many of the benefits of Server Core while still having the safety-factor of being able to run GUIs should the administrator need to log into the Server directly.

From the Manage menu in Server Manager the administrator can select Remove Roles and Features to move between Server with a GUI and the Minimal User Experience or Server Core.

The Minimal User Interface provides many of the benefits of Server Core but lets administrators run GUI tools like Server Manager and MMC-based tools like Computer Manager.

We can’t finish a blog post on the Administrative Experience without discussing how Windows Server shares the new design language and capabilities of the Metro style interface. Early in the design of Windows Server “8” we talked to lots of administrators to understand what direction they wanted us to pursue. The feedback we received was that most administrators manage both server and client machines. As a result, consistency was extremely important. Consistency doesn’t just apply to our administrators. In order to support end-users having the same desktop experience whether local, or using Remote Desktop Services, it was important to share the shell experience and adopt the new Start Screen. We have customized the default experience on the server to optimize for administrative tasks. To this end, we default to the desktop on logon. We bring up Server Manager by default. Server Manager exposes the full set of administrative tools via its Tools menu. We pin common applications like Server Manager and Windows PowerShell to the Task Bar. When you go to the Start Screen you’ll similarly see common applications exposed.

By default, when logging onto the Server, Server Manager starts. Additional Administrative Tools are available from the Tools menu in Server Manager and common tasks like Windows PowerShell and Explorer are pinned to the Task Bar.

The Start Screen in Server has common administrative tools pinned by default.

Given the recommended deployment option of Server Core, and the introduction of the Minimal GUI Interface, we hope that most administrators will rarely find themselves using the Start Screen on the server, but when they do it will be easy for them to find what they need to do in a manner consistent with the client experience. As mentioned earlier, stay tuned for a future blog detailing Server Core and the Minimal GUI Interface.

In conclusion, we have invested significantly in the Administrative Experience for Windows Server “8” to ensure administrators have choices for how they complete their work and that each choice is simple and efficient. Windows Server “8” will provide the fastest, most scalable and flexible solutions for customers large and small.

Give it a try and enjoy the next generation server management experience!