Becoming a Programmer

I’ve had more than a few readers write and ask how someone becomes a programmer. Of course, that’s a loaded question. The first thing that you must decide is what a programmer does, who they are as a member of society, and what they contribute to society. There are many fields that could be construed as programming. Anyone who writes a set of instructions that somehow directs that actions of a computer is a programmer. This definition encompasses everyone from the administrator or power user who writes macros to the designer who creates engineers huge projects to the low level developer who creates operating system code. Theoretically, the ingenious person who actually succeeds at programming their video recorder to start and stop at certain times to capture a favorite television show is a kind of programmer. Today I’ll focus on the computer scientist, because that’s what I am.

Aptitude is part of becoming a good computer scientist and you need to decide whether you have the required talents, skills, and desires. A love of the abstract is a requirement. Despite the best efforts of companies such as Oracle and Microsoft (and a huge number of others) to create an environment that mirrors the concrete world, creating good code is the domain of those who embrace the abstract. It isn’t simply a matter of knowing how to work with numbers. A computer scientist is an expert in many arenas of abstract thought and can actually feel the numbers in a way that few others can. Developing great computer applications is an art and many of the best computer scientists have an artistic bentthey play music, craft words into books, paint, or otherwise put into physical existence the abstract concepts of the mind.

Most computer scientists are naturally curious. It isn’t sufficient to know that the device workshow the device works is far more interesting. Taking things apart to see how they work and putting them back together again to ensure a true understanding of the underlying principles exists is a joy for the computer scientist. Nothing is too complex and in everything there is wonder. Where others see the mundane, the computer scientist sees the amazing.

Of course, there is the practical to consider as well. My first exposure to computers and programming was punch cards (yes, I’m dating myself here). I was in a typing class and part of that class was to work on a keypunch machine. The fact that holes in a card could control a huge machine was amazing to me. In those early years I also studied computer hardware in depth (right down to the chemical reactions that occur within a transistor) and discovered things like paper tape machines and light panels. This sort of education isn’t available to aspiring computer scientists today, but it’s where I began. Those early days were critical to my development as a computer scientist. Your early days are equally important.

So, where would someone begin today? There is a fear that everyone seems to exhibit about destroying their computer. Get an older machine that you don’t have to care too deeply about, but still works. Take it apart, learn how it works, and put it back together. A computer scientist understands that every line of code does something to the hardware. We’ve lost touch with that connection todaya real loss. Obviously, you don’t need to know absolutely everything about the functioning of the hardware, but you should at least know the basic parts of your computer.

Start small. If nothing else, install an old version of Office on your machine and use it to write macros. For that matter, try working at the command line for a while and write some batch files for it. You could also try working with JavaScriptit’s free and there are some excellent tutorials for it online. Experience the small things and you’ll gain understanding that you can’t get any other way. Most importantly, keep in mind that you’re trying to affect the world around you by writing commands.

Eventually, you’ll want to start working with a programming language. My first true programming language was BASIC. I learned it at a time when DOS was kingbefore Windows was even a twinkle in Microsoft’s eye. Visual Basic or C# are great languages to start with. You can write some extremely useful applications without a very large investment in either time or money. If you prefer, learning Java can be a good experience, but I’ve found it requires a little more time to learn than some other languages. But if you really wanted to stick with learning Java, as my friend did, you could always follow his lead by deciding to see how assignment guidance, that you can get from somewhere similar to bookwormhub can help you when it comes to completing studies that you may find hard to understand. My friend had many experiences like this, but his life was made much easier after using this service. Since I didn’t use it, I found it quite difficult and time-consuming, but my friend had a completely different experience with it, so you may find it easier to handle than me.

Discover a low level language. For me it was assembler. Actually, I learned to work with assembler on a number of systems. Today you’ll want to learn C++ because few people use assembler anymore. Even embedded system programming (the last frontier of truly custom systems) relies on C or C++ for the most part now.

Don’t confine yourself to a single platform or language though. Before I even entered college, I had been exposed to three different computer languages. During college I learned three more. Today I learn whatever seems to be the best language to accomplish a particular task. It wasn’t long ago that I learned IronPython. I’ve worked with PERL, LISP, F#, Java, PHP, and many other languagesthey’re all ways to express something that I need to do with the computerthey’re all beautiful languages for a particular task.

The important thing is not to make writing applications a chore or workkeep it fun. If you’re thinking about a career as a computer scientist, I think you have some amazing things to look forward to because computers are become ever more capable of interacting with the outside world. Let me know your thoughts about computer science at [email protected].

 

Robotics in Your Future

I’ve mentioned more than once that I’m intensely interested in accessibility in all its forms. In fact, in my view, one of the most important uses of computer systems is to make life easier for people with special needs. Eventually, we all experience a special need. If nothing else, age tends to rob us of mobility and the use of our senses, making some form of aid imperative.

Of course, most people are aware of robots. I read Asimov books such as, “I, Robot” with great interest as I grew up because like Asimov, I saw the huge potential of robots in a number of ventures. The first venture I became aware of was in industrial automationpainting cars I believe. Painting cars was only the beginning. Today, we couldn’t explore space successfully without robots, and the industry continues to grow, with companies like Google and Uber looking at self-driving cars. Many businesses are turning to industrial automated systems to aid with various parts of their companies, so it doesn’t seem as if they are going to stop anytime soon. If you are interested in learning more about industrial automation, click here.

All of these uses for robots are nice. However, the use that really piques my imagination is the use of robotic technology to help people in ways that we couldn’t even imagine just a few years ago. I’ve read with great interest about the use of exoskeletons for military personnel. Then, when the press started talking about the use of exoskeleton technology for the space program, I got really excited. However, a news story I read yesterday fulfills a promise for exoskeleton technology that I’ve always wanted to read about. In this case, a paralyzed student has been able to walk again. Amazing!

The technology still requires a lot of work, but I foresee a time when exoskeletons will make it possible for someone with just about any severe injury to lead a completely normal life. You won’t see someone who is struggling just to get by anymore; you’ll see someone who looks like absolutely everyone else. I can’t imagine a better use of technology to meet the needs of people who require it.

As with any technology, there are going to be abuses of this one. It’s unfortunate, but someone will find ways to use this technology in ways that actually hurt other humans or the person employing the technology. What good uses for this technology can you think about? What are the potential bad uses that come to mind? Let me know at [email protected].

Telnet Not Included

Every book I’ve written has required some hard decisions. Believe me, I think about every omission and addition at length, and then I think about them again. In many cases, I’ll ask my editors, especially my technical editor about it. In some cases, the beta readers for my book will get an e-mail about the topic as well. I made these sorts of decisions when writing Windows Command-Line Administration Instant Reference as well. So it was, after trying to wring everything I could out of every page in the book, I was faced with the unpleasant decision of having to leave Telnet out. It wasn’t an easy decision because I had included it in past tomes about the command line, such as “Administering Windows Server 2008 Server Core,” (see page 440 of that book) which also contains a wealth of other commands.

Readers have asked about the Telnet omission. I’ve been surprised to find that quite a number of people still use this utility and would have liked a more comprehensive discussion of it in my current book. There were a number of reasons for the omission. The most important at the time is that Telnet isn’t enabled by default anymore on Windows. You must install it as a separate item. In fact, you must also install the client on newer systems as shown here for Windows 7.

TelnetInstallation

So, why is everyone apparently making it difficult to use Telnet? Well, it turns out that Telnet has been implicated in more than a few security problems. Telnet was designed for a time when you could trust a connection. It doesn’t provide modern security features, such as encryption for the username and passwordit passes this information in the clear so anyone can grab it. In fact, a simple check on Microsoft’s Knowledge Base shows 1,430 hits for Telnet Security Issues (as of this writing). There are many non-Microsoft sites, such as this James Stephens blog entry, that detail the problems with Telnet as well. With pages at a premium, I decided the security issues surrounding Telnet were a good reason not to include it.

I’ve written a number of command line reference books. Each with a different audience in mind. In Windows Command-Line Administration Instant Reference I chose to provide support for administrators who need quick reference to actual commands, rather than simply a command reference. In addition, the page count of this book is smaller and the book itself is a smaller size to make it easy to carry around. The addition of examples and the reduction in size meant that I had to choose which commands to cover quite carefully. As described in another recent post, Techniques for Choosing a Technical Book, it’s important that the reader choose the book that meets their needs. In some cases, readers will be better served by the more complete list of commands provided by Administering Windows Server 2008 Server Core, which is an actual reference book.

Of course, I’m always looking for ways to improve my books to make the next edition better suited to meet your needs. If I receive enough e-mail about Telnet, I may very well included it in the next edition of Windows Command-Line Administration Instant Reference. So please keep those e-mails coming! If you’d really like to see Telnet included in my next book, contact me about it at [email protected].

So, here’s the short story about Telnet. As with most command line utilities, you can obtain general help by typing Telnet /? and pressing Enter. You’ll see the help screen shown here:

TelnetHelp

Notice that I’m using an Administrator command prompt. You absolutely have to elevate privileges to use Telnet successfully in Windows 7. In addition, you’ll need to open a hole in your firewall for port 23 (unless the Telnet server you want to contact is at a different porta minimal, but helpful security precaution).

In order to connect to a server, you type Telnet <ServerName>, where ServerName is the name of the server you want to contact. For example, if you want to contact a server named WinServer, you type Telnet WinServer and press Enter. Once you enter Telnet, type ? and press Enter to get help for that session.

It’s important to note that Microsoft provides some Telnet-related commands that you should know about if you really need to use Telnet for administration tasks. For example, the Telnet Server is TlntSvr.exe and you can use the TlntAdmn utility to perform administration tasks. Let me know if you’d like some additional posts on this topic and I’ll be all too happy to pursue it further.

 

Dealing with Digital Addiction

It may sound odd coming from a guy who has written 87 computer books and over 300 articles, but I think the world has a severe technology addiction that’s going to cause us significant woe at some point (assuming it hasn’t already). Obesity, people who think cable television is a basic necessity, the need to have a cell phone constantly attached to one’s ear, and all of the other negatives commonly associated with a digital addiction today are only the beginningthings will get worse. Don’t get me wrong, technology definitely has positive aspects and it has a role to fulfill in the modern world, but I think we’ve gone way too far (and I’m sure we’ll go further).

One of the best ways in which technology can help is to level the playing field for those with special needs. In fact, anyone who knows me knows that I have a very special place in my heart for those who have special needs and can be helped by technology used in a positive way. However, it’s often the technology developed for people with special needs that seems to hurt us the worst (think of the television remoteit mainly started as an accessibility aid).

I read a PC Magazine commentary by Lance Ulanoff this morning about digital addiction and a book that will help you with it. Most people don’t need a bookthey need a reason and a plan. You can’t combat anything that you’re not convinced you need to combat. Some people are incredibly happy being addicted to technologyI feel sad for them because they’re missing out. If you make your entire world revolve around technology, you’re likely missing out on real friends and relationships with family. You’re also missing out on a vast range of experiences that have nothing to do with technology. However, unless you see that you’re missing out on these things, nothing that I or anyone else says will convince you of anything. So, you need a reason to deal with a digital addition.

If you finally do come up with a good reason, you need a plan. When I gave up smoking years ago, I had to find a way to fill the vacuum. I immeditately went to a vape shop an bought a 18650 battery for my e-cigarette. I knew that smoking was very bad for my health and using an e-cig seemed like a much better option for me. It made quitting smoking much easier, I have to say. The same is true for people who drink in excess. Some choose to go to luxury alcohol rehab to help resolve it. This is a great way to overcome any addiction, but especially things like smoking, drugs and alcohol. Of course, if things are severe and you have a particularly strong addiction to alcohol or drugs, you may need to contact the team at Enterhealth for professional help. But on a smaller scale, replacing what you crave with something much healthier is a great way of going about it. My way of dealing with the addiction is probably uniqueI bought some running clothes and a new pair of shoes. Every time I wanted a cigarette, I went for a run instead. For about a month, I actually ended up sleeping on the couch in my running clothes because it was easier than having to get dressed to address an urge in the middle of the night. After about six months I found I had lost 20 pounds and that I felt extremely good. So, something positive came out of getting rid of those cigarettes.

My own technology addiction came sometime after I left the Navy. It seemed as if my wife couldn’t pry me out of my office under any circumstance and that I couldn’t enjoy any activity that didn’t somehow involve my computer. I was constantly worried about missing somethingthat some event would happen and I wouldn’t be available to deal with it. (If this sounds at all familiar, you likely have a digital addiction too.) I’m not quite sure when it snuck up on me, but it did. As with my cigarette addiction, once I realized I had a problem (my weight skyrocketed and I felt terrible), I came up with a plan to deal with it. I started including daily walks in my regimen, spent time with my wife playing board games, going to shows instead of watching television, went on picnics, started working with wood, and took time to enjoy events at the park. My mother-in-law helped by getting us an annual pass to the zoo. All of these things are part of the plan that fills the void so technology doesn’t rule my life.

The battle to contribute in a positive way to the world and yet not let technology rule my life is ongoing. You’ve seen my posts on self-sufficiencythat’s part of the plan. I don’t carry a cell phone, don’t worry about the messages in my inbox or on my answering machine, and think about things other than writing. Twice a year I shut everything offthe computer doesn’t exist for that time intervalmy wife and I get reacquainted. As a result, I’m happier and healthier than I have been in many years. If you find that you can’t leave the technology at home, unplug, and not feel any remorse about doing it, then you have a digital addiction and I encourage you to find both a reason and a plan for dealing with it. Let me know your thoughts about digital addiction at [email protected].

Using a Horizontal Web Site Layout

A friend recently wrote to me regarding an issue with Web site layout. Of course, I’ve dealt with Web design issues in a number of my booksmost notably C# Design and Development and Accessibility for Everybody: Understanding the Section 508 Accessibility Requirements. If you look at most Web sites today, they all have three serious problems:

  • The line length is too longforcing the eye to work extra hard to read the material because the eye loses track of the line and actually making it tiresome to review the material.
  • The page contains too much material, which makes it tiresome for anyone working with a screen reader to listen to all the material before finding the one bit of information actually required from the site.
  • The use of vertical scrolling is contrary to the historical use of horizontal scrolling. If you look at how people worked with scrolling in ages past, it was always horizontal, making it easier to read the material.

She even sent me two articles that describe the problem in greater detail. The first article is entitled, “Are Horizontal Website Layouts the Wave of the Future?” and points out that research shows that most people don’t even read the excess material on a Web site. If nothing else, the strong research showing that my efforts are being wasted would tend to make me rethink my design. The second article is entitled, “Horizontalism and Readability” and it places more emphasis on the historical approach to horizontal layout, rather than focus on modern research. I tend to prefer tested approaches to presenting information when I can get them (new ideas are fine for someone else to test).

Of course, a Web site is not the same as printed material. Trying to equate the two could very well be a mistake. Here is my take on how the mediums differ:

  • The method of presentation differs. You’re not relying on paper, you’re using a video screen of some sort and that does make a difference in how the reader perceives the material.
  • The environment differs. I don’t usually sit in my easy chair next to the fire when I read materials online. I’m normally in my office in a formal work environment.
  • The approach to reading differs. My paper reading environment is relaxed and long term. It’s nothing for me to spend an entire day reading a good book. My online reading is more like a sprintI find what I need quickly and never read for more than a half hour at a time.
  • The technology differs. When I read a book, I get print in one size. So, if the print is less than appealing or causes eye fatigue, I’m just stuck with it. My browser allows me to change the font size a Web site uses so I can make the print eye friendly. Although, I would still recommend wearing reading glasses if you find that you’re experiencing eye fatigue from staring at a computer screen, but life should be made easier if you can alter the font size. In fact, I can even use a CSS file to change the typeface and other features for some Web sites.

The obvious question now is whether the two environments differ enough that considerations normally made for paper don’t apply to Web sites. My thought is that creating Web sites with smaller amounts of material, eye friendly design, and shorter columns are all great ideas, but I’m not completely sold on the idea of horizontal scrolling. Of course, every person or business has their preference about how they want their website to look, and that’s fine. That is what makes everyone different. Some may decide to design it themselves, whilst others may decide to enlist the help and expertise of somewhere like Plenty of Pixels – Pasadena Website Design to incorporate everything they want to see on their website. As long as you have all the information you need to attract customers, that’s all that matters. But horizontal scrolling? That’s another story entirely. What is your take on this idea. Let me know at [email protected].

Working with Net User

The Net User command on page 142 of Windows Command-Line Administration Instant Reference seems to have generated a bit of confusion. The /Add command line switch is straightforward; /LogonPasswordChg isn’t. For one thing, the /LogonPasswordChg command line switch doesn’t appear to be documented, even in Windows 7. Here’s the help provided with Net User now:

NetUser01

As you can see, not even a mention for /LogonPasswordChg. Microsoft doesn’t help matters. For example, if you look at the “How to Use the Net User Command” Knowledge Base article, you won’t find any mention of this command line switch. While writing the book, I had found a tantalizing clue at Manage XP and Vista Users Using DOS Commands and decided to try it on Windows 7 as well. The command works fine when used correctly in Windows 7.

However, here is where the plot thickens. It seems that the command line switch doesn’t work in Windows XP. When you execute the command shown on page 142 you get an error message reading something like, “The option /LOGONPASSWORDCHG:YES is unknown.” Somewhere between Windows XP and Vista, Microsoft added the /LogPasswordChg command line switch to Net User and then didn’t tell anyone about it. Consequently, the command shown on page 142 won’t work under Windows XP.

There is another problem that occurs when using the /LogonPasswordChg command line switch. If the account currently has the Password Never Expires option checked as shown here:

NetUser03

the command appears to succeed, but doesn’t change anything. In order to make the command work properly, you must first set the password to expire using the WMIC Path Win32_UserAccount Where Name=’UserName’ Set PasswordExpires=True command. So, the sequence to set an existing account to force a password change during the next logon is like this:

NetUser04

When you execute these two commands, you’ll see the user account settings to change to appear like this:

NetUser05

which means the user must change the password during the next logon.

So, why does the command on page 142 work without this extra step? In this case you’re adding a new user and the Password Never Expires option is disabled by default. Creating the combined command works fine because there is nothing to hinder it with a new account. Please let me know if you encounter any problems with this particular command at [email protected].

 

Delimiters and Batch Files

The example on page 402 of Windows Command-Line Administration Instant Reference produces the correct result. You see the result of passing various bits of information between two batch files. However, as someone wrote to me recently, the output from the Batch2.BAT file isn’t the result you might expect. Instead of showing the entire %PATH% environment variable, you see just the first part of this environment variable as shown here.

BatchFile01

The reason you only see C:\Program as the environment variable output is the fact that %PATH% contains delimiters. There are a number of characters that the command prompt uses as delimiters, separators between elements in a single string. My testing shows that the space, tab, and semi-colon are three characters that always act as delimiters within a batch file. Of course, delimiters are extremely useful when you want to use one string to hold multiple elements for processing, but they can also cause interesting results, such as in this case where only part of the %PATH% environment variable appears in the output.

Of course, you’re probably asking how to obtain the entire environment variable as output. A simple change to Batch1.BAT makes this possible as shown here.

@ECHO OFF
Call Batch2.BAT
Call Batch2.BAT Passed %1 "%PATH%"
ECHO In Batch 1
GOTO :EOF
ECHO Goodbye

Notice that %PATH% now appears within double quotes. This change tells the command processor not to process the information within the %PATH% environment variable as separate entities. With this change you see the following output.

BatchFile02

Now you’re seeing the entire environment variable in the output. It’s important to note this difference in processing strategies when creating batch files of your own. What other batch file quirks have you encountered. Let me know at [email protected].

Deleting a Session at the Command Line

A reader of my book, Windows Command-Line Administration Instant Reference, recently wrote in to say that the Net Sessions /Delete command apparently doesn’t work, which I found interesting because I’ve tested it on a number of occasions and found it always worked for me. It turns out that we had two different scenarios in mind. Normally, you’ll use the Net Sessions /Delete command to free up resources when a remote terminal has frozen or left the session intact in some other way. For whatever reason, the remote user didn’t log out and that means all of the file locks are still in place, for one thing, and that all of the session resources are in use, for another. Using Net Sessions /Delete cleans up this mess, but only at the potential expense of data loss and all of the other things that go with terminating a session without following the usual protocol.

In this case, the reader was simply trying the command to see if it would work. However, the command didn’t appear to work become the remote terminal was still active. Since Windows XP SP1 there has been an automatic reconnection feature.  You disconnect the session and Windows XP (and above) automatically reconnects it. You can read about it at http://support.microsoft.com/kb/323258.

Microsoft used to say that you had to turn this feature on manually (such as by using a policy). The fact of the matter is that the sessions automatically reconnect by default. You’ve probably seen it work already. For some reason, the network disconnects. However, after a few seconds, you magically see the network connection reappear. I know I’ve even seen it on my network. There isn’t anything magic about it—the session is being automatically reconnected in the background without any interaction from you. So…while the command does in fact work, it’s disabled by the automatic reconnection feature. Windows can reconnect faster than you can disconnect it.

Of course, this makes me wonder about other commands that apparently don’t work, but are merely thwarted by well-intentioned Windows behavior. Let me know if you see any behavior of this sort at [email protected].

Considering the Economics of Accessibility

People have asked in the past which book of mine is my favorite. I have a number of answers to that question. In one respect or another, all of my books are my favorite because they all answer different questions and help a different group of people. As I’ve mentioned in the past, the reason I write is because I truly enjoy helping others.

My reasons for writing “Accessibility for Everybody: Understanding the Section 508 Accessibility Requirements” are many. However, one of the biggest reasons that I wrote it is because there are good economic reasons to make applications accessible to everyone. Not all of these reasons have a direct monetary impact, but I do express them in the first chapter of the book. The fact of the matter is that if your application isn’t accessible, you’re costing your company time and money. If you’re a store owner, you’re losing money every second that your organization uses applications that aren’t accessible.

Many
people associate accessibility with those who have special visual or
audio needs.  However, accessibility affects quite a large group of
people, including those who are colorblind. Did you realize that about 8% of the male population is colorblind,
which means that if your application isn’t accessible to this group
that you’re losing out on 8% of your sales right off the top? Can you
really miss out on that many sales? In short, accessibility is truly for everyone and everyone includes you.

It amazes me that some organizations just don’t seem to get it. Accessibility affects more than those people across the street; they affect you personally. At some point in life, you’re going to need an accessibility aid. Our eyes get older and can’t see as well, the ears refuse to hear, things wear out. So, the accessibility features you add to an application today will ultimately help you in some way. It’s the reason that I read about lawsuits such as the one between the National Federation of the Blind, NFB, and Google, and have to scratch my head. I have to wonder why such a lawsuit is even necessary.

Another reason I wrote my book is to show how easy it is to make applications accessible and to inform my readers about the laws regarding accessibility (laws that our government doesn’t enforce).  Creating an accessible application with the tools available today isn’t a major undertaking. In many cases you’re looking at a few extra minutes to add features such as speed keys and titles that a screen reader can read (the same titles appear as balloon help that sighted users also rely upon). It’s true that applications that make heavy use of full animation or video can become harder to make accessible, but these applications are in the minority. Most business applications require very little extra work.

If you think buying a book to learn about accessibility is just too expensive, I encourage you to make use of the free resources available on the Internet. Companies such as Microsoft want you to create accessible applications because they realize that it’s in their best interest to do so. These resources are incredibly easy to use and they make life easier for everyone. I’m always happy to hear about your insights regarding accessibility, so feel free to contact me at [email protected].

 

Considering the Move to IPv6

I was getting my technical reading done this morning and ran across yet another article about IPv6 by Woody Leonhard entitled, “Caution: Bumps in the road to IPv6“. One of the main focuses of the article is that you should check your IPv6 compatibility using the features provided by Test Your IPv6 Connectivity. The article also assumes that you have IPv6 installed on your local system if you’re using a newer version of Windows. Of course, most people do have IPv6 functionality on their Windows 7 systems, but what if you don’t? How can you even check for IPv6 functionality?

Performing a local check is relatively easy. Open a command line, type IPConfig, and press Enter. You’ll see a listing of your IP configuration similar to the one shown here:

IPv601

In this case, you can see that the connections do indeed have IPv6 connectivity. If you need additional information, you can type IPConfig /All and press Enter instead. Of course, the presence of the information doesn’t always mean that the connections are working properly. In many cases, you can fix IPv6 problems by using the IPConfig /Renew6 command. There are separate versions of the command for IPv6 and IPv4—the IPv4 version of the command is simply IPConfig /Renew, so make sure you use the correct version.

The IPConfig utility is good for quick information and fixes. If you want to perform something a little more detailed, you need the NetSH utility instead. For example, if you want to install IPv6 on a machine, you type NetSH Interface IPv6 Install and press Enter. Interestingly enough, you need to simply know about this particular command because it doesn’t appear when you type NetSH Interface IPv6 and press Enter (which shows the other available IPv6 commands) as shown here:

IPv602

However, you do get a wealth of information from NetSH. Type NetSH Interface IPv6 Show and press Enter to see the entire list of Show commands listed here:

IPv603

One of the least appreciated and underused NetSH commands is NetSH Interface IPv6 Dump. This command creates a batch script for you that recreates the configuration on the current machine as shown here:

IPv604

So, if you type NetSH Interface IPv6 Dump > IPvConfig.BAT and press Enter, you end up with a batch file you can use to create a successful configuration on other systems. The Dump subcommand is available in a number of NetSH contexts and you should employ it freely. You can find myriad other uses for NetSH in Chapters 2 and 24 of Windows Command-Line Administration Instant Reference. The IPConfig utility appears in Chapter 9. Let me know about your unique uses for both of these utilities at [email protected].