ABSTRACT
Administering applications and servers when not connected to the network can be a nightmare, especially when only a few people manage the application. Just imagine going out for an evening on the town and then you’re paged at one o’clock in the morning with an alarming message that your application has gone down. For companies without Virtual Private Networks (VPN) the task is even more difficult because now you must come to the office to rescue your application. Microsoft’s .NET framework provides easily accessible assemblies to read and modify imperative information about any given machine, and most importantly it also provides backwards compatibility to read and modify machines, which are not .NET framework enabled. In this article, Eric Rockenbach shows us how to create a CPU Console administration tool and appropriate secuirty scheme for any machine on our network.
ARTICLE
When not connected to the network, administering applications and servers can be a nightmare, especially when only a few people manage the application. Just imagine going out for an evening on the town and then you're paged at one o'clock in the morning with an alarming message that your application has gone down. For companies without Virtual Private Networks (VPN) the task is even more difficult because now you must come to the office to rescue your application (VPN allows remote access of machines when both machines have the correct software installed). Microsoft's .NET framework provides easily accessible assemblies to read and modify imperative information about any given machine, and most importantly, it also provides backwards compatibility to read and modify machines which are not .NET framework enabled. In this article we see how to create a CPU Console administration tool and appropriate security scheme for any machine on our network.
System Requirements
• Server: Windows 2000, IIS 5.0, .NET Framework, (Server Hosting the CPU Console application)
• Machine to be checked: Windows 2000, NT
• User's workstation: IE 5.0+, Admin Group of Machine, Admin Group of Server, Win 2000 Login account
Assumptions
This article is designed to combine different elements of the .NET framework to meet an important business challenge. We do not assume exposure to the assemblies mentioned, but having exposure to the .NET framework will be helpful, especially when expanding on this article's functionality.
Designing an Online CPU Console
Implementing a CPU Console over an entire network can be challenging - not only because of the cost of license fees for every machine, but also because the software must be installed on possible mission critical machines, in which domain administrators might not be allowed to install un-trusted software. In addition, the console must be open to the web, which means authentication and SSL on every machine, plus an open port, which is not a secure configuration to say the least. The challenge is to keep servers protected, yet still be able to administer these over the web for disconnected users.
The sample application we develop demonstrates how the .NET framework provides an elaborate library for administering events, processes, and services. .NET handles the majority of the low level code that developers write to view system resources. We utilize .NET's ability to use the installed framework on one machine to gain access and information about another machine that does not have the .NET framework installed.
One of the most impressive features of the .NET framework is its extensive robust security model. Many of .NET's classes now provide properties that we can "get" or "set" to administer runtime security. .NET also houses a complete assembly System.Security, which features nothing but security settings and preferences. Our CPU Console application wi