Manage Windows systems with the power of Windows PowerShell, schedule and run backups, and test Linux apps with this month’s collection of tools.
Windows PowerShell is a powerful management environment for Windows machines. Unfortunately (or perhaps quite fortunately in terms of security), you can’t always take advantage of Windows PowerShell for remote management due to network and policy restrictions. If you administer any *nix systems, you’re most likely accustomed to connecting to a remote system securely with minimal port exposure using Secure Shell or SSH.
Using /n Software PowerShell SSH Server, you can connect to your Windows machine’s Windows PowerShell environment in a similar manner. As the name suggests, the application runs an SSH server on your target system that you can easily connect to from a remote system via an SSH client or via a set of provided Windows PowerShell cmdlets. You can run the SSH server interactively, but you will most likely want to have it run as a Windows service so you can connect any time via the management GUI.
Other options on the GUI include setting the SSH port, the logon banner text, whether you want to execute Windows PowerShell profiles when a client connects, and setting the Active Directory group to be used for authorization. You can also select or generate a certificate for connection encryption. PowerShell SSH Server also supports public key authentication and writing to a log file. There have been tests done with PowerShell SSH Server on a number of standard SSH clients including Putty, PocketPutty and OpenSSH. The application will support both interactive terminal sessions and remote command execution via sexec/SSH Exec.
You can also use the provided cmdlets to connect to the remote system. The first cmdlet is New-PowerShellSSHSession. This creates a connection to the server via SSH and returns an SSHSession object, which is the wrapper for the “channel” through which you can execute commands on the remote system. You invoke those commands through the Invoke-PowerShellServerExpressioncmdlet, which uses that session.
Any results or PSObjects returned from the command execution are serialized and transparently returned to your system (the serialized XML data is deserialized into an object of the same type), where you can manipulate or enumerate the results. There are also two file transfer cmdlets included for getting data back and forth between your system and the remote host: Get-PowerShellSSHFile and Send-PowerShellSSHFile.
You can clean up after your tasks by closing the connection to the SSH server with Remote-PowerShellSSHSesssion. Besides the included cmdlets, /n Software also has a set of components (in beta at the time of this writing) to give you programmatic access to the SSH server for a various set of languages and platforms, including .NET, PHP, C++ and Mac OS X. /n Software PowerShell SSH Server is free for desktop personal use. A single server, single CPU license will run you $249, while an unlimited CPU license runs $999. Site and enterprise licensing options are also available by request. A 30-day, full-featured trial version is also available on the Web site.
/n Software PowerShell SSH Server
Backups are important, essential and sometimes a real hassle for end users—which means they’re often ignored. If you’re looking for a product that you can dole out to your non-technical end users, you might want to take a look at a product like Genie Timeline Professional.
The simple 1-2-3 interface is designed to be a “fire-and-forget” type of continuous file backup for Windows machines. Pick your backup drive, select the file types you want to back up, and set simple options on the backup form. Your backup location can be either a local or networked drive. The file type selection is grouped into logical and understandable groups like Office Files, E-mail, Financial Files, and eBooks and PDFs, among others. You can also customize the file extensions in each group to include or exclude specific types or even select specific folders or drives.
Basic backup options include whether you want to compress the backups or whether you want to encrypt the backups with 256-bit AES encryption with a password key. Once you’ve set it up, Genie Timeline Pro runs in the background giving you block level continuous differential backups of your files (which the application has dubbed IntelliCDP, for Continuous Data Protection). If you need to restore a file, you can navigate to the Timeline Explorer and go to the point at which you would like to recover or revert a file or set of files and simply slide the timeline slider back to the appropriate point.
You can exclude files from your IntelliCDP backups by dropping them in the designated “No-Backup Zone” folder on your desktop. The application also has Explorer integration, giving “right-click” context actions on folders and files as you work. You can also have the program send e-mail notifications of information, warnings and backup errors. You can even have the program do a full system backup and build a recovery CD in case you need to restore the whole machine. There are handy charts of what your backup contains so you can see what’s taking up the most percentage of space as it runs.
Genie Timeline Professional will cost you $59.95 for a single license. There are also three- or five-license packs, which are a $10 or $16 discount per copy, respectively. Volume licensing options are also available. If you would like to try it before you buy it, you can download a 30-day trial. All in all, Genie Timeline Professional is an easy-to-use, easy-to-manage backup solution for you and your end users.
Before you let a new system out into the “wilds” of your production environment, it’s always best to first put it through its paces. All major vendors “burn in” systems before shipping out to customers, but if you’re building systems from the ground up, a toolset like the StressLinux project may be what you need.
The StressLinux project gives you a set of stress test, monitoring and performance tools in a bootable and self-contained Linux distribution based on the openSUSE core. The StressLinux distribution was put together with SUSE Studio, and you can download it as an ISO, a USB/HDD image or a VMware image.
At the base layer, StressLinux comes with BusyBox, which wraps the options of common Unix utilities into a small single executable for easy portability and reduced footprint. There’s also a customized subset of the Supportutils from openSUSE.
For testing and monitoring system performance, StressLinux has a bunch of great tools. There’s the simple workload generator stress, stressapptest for generating randomized realistic high load, mprime to stress your system by searching for Mersenne primes, and cpuburn to just crank on your CPU.
There are also memtester, memtest86 and memtest86+ to put your system’s memory through its paces. You can also use nbench or bonnie++, to get a performance baseline for the machine’s CPU/memory or hard drive and file system, respectively.
For testing and measuring your network devices, you can use netio, nepim, netperf or iperf. Or for just gathering information, you have tools like lshw and x86info to see device and CPU details. You could also use lm_sensors, and hddtemp to measure environment and smartmontools to monitor your SMART-enabled hard drives. Among other performance and testing tools, there are a few rescue and recovery tools as well. StressLinux is a pretty nice bundle of utilities. It’s GPL and free to use.