[This story was posted on April 1st and should be treated accordingly] On April 5, 2010 shuttle Discovery will take off with more than just 4,521,749 pounds (2,051,031 kg) of equipment and 7 crew members. In what specialists describe as technological breakthrough, NASA is equipping this mission with a new remote management technology – Windows PowerShell.
“We can now offer standard reliable remote control over our space fleet at a fraction of a cost,” automation director Kevin Danom is telling us as we sit at the Johnson Space Center in Houston. “This opens up huge opportunities for NASA considering the current economic climate and budget constraints.”
What now is a huge success acknowledged by everyone at NASA did not look that way in the beginning.
“We are always looking for the ways to automate our systems. Space shuttles are just way too complex to operate them manually, however, a technology with the word ‘Windows’ in it did not sound right to the older generation of NASA engineers. It took time, effort, many hours of intensive testing, and full code review with Microsoft engineers to win the skeptics over.”
Kevin finds it now hard to believe that just a few years ago NASA would be spending millions of dollars annually on maintaining its own command-line and scripting environment. A single command used to cost north of $50,000 to produce, and text-based input/output paradigm forced NASA to maintain a full department of regular expression specialists helping bind the commands together.
“The first time I did ‘
Get-SolarPanel | Unfold-SolarPanel‘ in front of our engineers no one could believe this single one-liner could fix all solar panels on the space station. And when they realized that all the pipelining and object-oriented approach was just a part of the platform which we could get for free, they would not let me go until I answered all the possible questions they could think of.”
Not so easy
“PowerShell 1.0 was just not there yet. It was a great first step but a lot of small things were missing.”
The first demo NASA gave to the International Space Station Committee was a disaster. Foreign-language characters would not show up on the screen due to lack of support of what computer scientists call ‘Unicode’ in the native PowerShell console.
“We almost lost Japanese financing for our space programs that year, and had to urgently call Jeffrey Snover to get an early build of version 2.0 with this issue fixed.”
Another big issue was lack of ‘remoting’ and multi-device management in PowerShell 1.0. Using 1.0 would mean that we would have to have someone to literally log on to each device and operate it separately, or get huge performance hits with WMI timeouts.
NASA’s input then helped make PowerShell 2.0 a great success. Unicode support is all over the platform, remoting is there, and Jeffrey Snover got promoted to Distinguished Engineer at Microsoft.
“Not everything went well. For example, we had a few satellites out there which had CTP 3 [military codename for earlier version of the PowerShell platform] on them, and we effectively lost control over the equipment when we upgraded our control center to PowerShell 2.0 release version. And it took time for us to explain to Microsoft why we could not join our space fleet to an Active Directory domain to enable remoting.”
But now all the worries are in the past. The latest satellite launches proved that PowerShell 2.0 was good enough for NASA, and in just a few days the first manned mission with PowerShell aboard will go into space.
Does it work across the space? It sure does!
“We first tried using WinRM – but the protocol seemed a bit flaky across our channels. Luckily PowerGUI MobileShell solved the issue. All it requires is a browser and HTTPS connection and we already had it anyway to let the astronauts access their Facebook and Twitter accounts. It also let the non-PC-fan part of NASA use PowerShell from their Macs, Linux terminals, and iPhones.”
The success of PowerShell at NASA has been tremendous, and the cost-cutting has already allowed to revive the Moon and Mars mission plans which got almost put on hold in 2009. On April 5, Discovery will bring PowerShell 2.0 to the International Space Station marking the next step in the space mission technology.
You can learn more about the April, 5 STS-131 Discovery mission at NASA website or by following NASA on Twitter at @nasa.