I first learned about Microsoft networking in March 1985, when Microsoft—well, IBM—released the IBM PC Network Support Program. It was a network OS that featured "servers" running on PC/MS-DOS, and it essentially meant that Novell wouldn't have any serious Redmond competition for another 8 years. But learning that early networking technology (also called MS-Net) has been of great value to me over the past 21 years: With the IBM PC Network Support Program, you did all your network administration from the command line, and believe it or not, Windows Server 2003 still supports— and, of course, extends—that program.
To this day, you probably still use Net commands such as Net Use and Net Time. The Net commands are powerful, and they've become more useful in the Windows 2003 and Windows XP realm—but many people are unaware of Net's power. That's a shame, because command-line tools are a convenient way to quickly set up a network. Let's look at the Net Share command, which is the only tool I know that lets you create a file share, set its permissions, find out who's using it at the moment, and document it—all from the command line.
The most basic Net Share syntax simply shows you your existing shares. When you type
and press Enter, you get a list of all your shares by name. You also learn the exact drive and path they're sharing, as well as any remarks associated with the share. And, if you're wondering, case doesn't matter, as with virtually all built-in Windows command-line tools.
To create a new share, type (on one line)
net share <sharename=drive:path>
/remark: "<remark text>"
That command looks a bit ugly, so here's an example that makes it easier to understand:
net share mytest=C:\test /remark: "Playing with Net Share" /grant:administrator,full /grant:otherguy,change
This command says to take an existing folder (C:\test) and share it as mytest. If, for example, the system you've typed the command on is called PC55, you're creating a share with the Universal Naming Convention (UNC) name \\pc55\mytest. I've added a remark to the share, but remarks are strictly optional.
What isn't optional, of course, is a good set of share permissions on any file share, and Net Share lets you create them. You can have as many /grant parameters as you want. In this example, I've granted Full control to the account named administrator and Change control to an account named otherguy. There are only three levels of permissions—Full, Change and Read—because file-sharing permissions are much simpler than, say, NTFS permissions.
Changing Share Permissions
How would you use Net Share to change share permissions? I haven't found a straightforward way to do so, except to type in two Net Share commands—one to delete the share (which doesn't, of course, delete any of the files in the previously shared directory) and another to rebuild the share with the desired permissions. You can use the /delete option to delete a share from the command line, as follows:
net share mytest /delete
Net Share also lets you control how the Windows 2003, XP, and Windows 2000 Offline Files feature caches information in a share. As you've probably noticed in the Windows Explorer GUI, you can set any share to permit four levels of caching: manual, programs, documents, and none. To specify any of those levels in Net Share, you would use the /cache option, as follows:
net share mytest=C:\test
/remark: "Playing with Net Share"
The Net commands are extremely valuable for command-line system configuration, and Net Share is no exception. Give it a try!