I hear about certain file and print "challenges"
over and over again from clients. Visitors of
my Web site echo these annoyances. I want
to address three of the most popular complaints
I hear on this subject: the inability to restrict file
shares, to deploy printers via Group Policy, and
to control quota usage.
Too often, we give in to the temptation of
reaching out to third-party solutions rather
than using freely available, built-in OS tools. In
particular, Windows Server 2003 Release 2 (R2)
and the forthcoming Longhorn Server offer
terrific file and print management solutions.
Can't Restrict File Shares
File services have vastly matured in Windows,
but there are always features that other network OSs have that Windows doesn't (or hasn't
had before now). One such feature is visibility
of folders and files to which users don't have
permissions. In OSs such as Novell NetWare,
users see only the files and folders to which
they have access, whereas in Windows, users
typically see all shared files and folders—even
those to which they're denied access. Perhaps
this default behavior doesn't seem significant,
but users can often glean an idea of file contents from filenames. For example, the file John Savill reasons to fire.doc would make me uncomfortable even though I can't see what's
in the file. And depending on industry type,
this hint of data content might break regulations and compliance requirements.
To solve this problem, Microsoft has
released Windows Server 2003 Access-based
Enumeration, a downloadable add-on for
Windows 2003 Service Pack 1 (SP1) that you
can obtain from Microsoft's Web site. This tool
lets you control—at the server or individual
share level—the ability for users to see only
the files and folders to which they have access.
Downloads are available for both 32-bit and
64-bit versions of the OS; although Windows
2003 SP1 is discussed, Windows 2003 R2 is
also fully supported (since Windows 2003 R2 is
essentially Windows 2003 SP1 with "extras").
The installation procedure prompts you
to enable access-based enumeration for all
folders or to allow folders to be individually
enabled (the default option). After installation,
the properties of a shared folder will have a
new tab—Access-based Enumeration—which
Figure 1 shows. On this tab, you configure folders so that only users who have at least Read
permissions can view them.
A command-line tool called Abecmd is also
provided as part of the download. This tool
gives you command-line control of access-based enumeration.
Can't Deploy Printers via Group Policy
Longhorn Server will offer full support for
printer deployment and management, but
until we're all enjoying Longhorn Server and
Windows Vista clients, most of us are turning
to third-party alternatives for help in the management of printer deployments. However,
you might not know about an interim solution
that's part of Windows 2003 R2—a feature that
helps fill the gap between what we have today
in terms of printer deployment via Group
Policy (i.e., zero functionality) and Longhorn
(i.e., a useful set of tools). The new Print Management Console aids in the management of
print servers both locally and remotely, and it
lets you push printers via Group Policy.
There is a caveat. Typically, the client reads
and automatically processes Group Policy
settings; obviously, legacy clients won't understand the Windows 2003 R2 print-deployment
capabilities of Group Policy. Therefore, you'll
need to install a client-side piece on those
computers so that you can process printers
they should connect to. These client pieces
are usually Client Side Extensions (CSEs),
which are part of the OS and executed automatically as required to process Group Policy
settings. For example, there are Folder Redirection, Administrative Template, and Security CSEs—to name a few. Unfortunately, there's
no Printer Connections CSE in Windows XP.
(Vista will have one.) So, in addition to setting
Group Policy options for the actual printers,
you'll need to deploy a command-line utility—Pushprinterconnections.exe—to run at
machine startup or user logon (accomplished
through a startup or logon script).
To install the Print Management Console,
open the Control Panel Add/Remove Programs applet and find the tool in Add/Remove
Windows Components. During installation,
the system creates a folder called PMCSnap
under the Windows folder. The PMCSnap
folder contains the files that the Print Management Console will use, including the new
Microsoft Management Console (MMC) Print
Management snap-in and the client-side Pushprinterconnections.exe image.
A word of caution: The Pushprinterconnections.exe tool automatically matches the processor type of the server on which you enable
it. For example, if I'm running on 64-bit Windows 2003 R2, the Pushprinterconnections.exe
tool installed on the server will be the 64-bit
version, which won't run on most client plat-
forms. Therefore, you'll need to
take Pushprinterconnections.exe
from the 32-bit Windows 2003 R2
CD (the second disc), and you'll
need to manually expand it
by using the Expand command on the \CMPNENTS\R2\PUSHPRINTERCONNECTIONS .EX_ file.
After you've installed the Print
Management Console, you can
deploy printers through Group
Policy as follows:
- Open the Print Management MMC snap-in by clicking
Start, Programs, Administrative
Tools, Print Management.
- Expand the Print Servers branch, click
the print server that hosts the printer, and
select Printers.
- Right-click the printer that you want to
use Group Policy to deploy, and select Deploy
with Group Policy.
- To find the GPO name to use, click
Browse.
- Click the New GPO icon (or select an existing GPO), use the name Deploy Printers,
and click OK. You need to ensure that this
Group Policy is applied to a container that
holds the users and computers to which you
want to install this printer.
- Select either The users that this GPO
applies to (per user) or The computers that this
GPO applies to (per machine), or both, and
click Add, as Figure 2, shows.
- Click OK.
If you open the Group Policy Object (GPO),
you'll notice a new Deployed Printers branch
that lists deployed printers in the GPO.
You now need to assign Pushprinterconnections.exe so that the selected printers are
processed when the computer starts or when
users log on (depending on the target for the
printer deployment—user or computer).
- In the GPO Editor, open the GPO that
you used for the printer deployment.
- If the selected printer is deployed to
users, navigate to User Configuration, Windows Settings, Scripts (Logon/Logoff). If the
printer is deployed to computers, navigate to
Computer Configuration, Windows Settings,
Scripts (Startup/Shutdown).
- Right-click Startup or Logon, then click
Properties.
- In the Logon Properties or Startup Properties dialog box, click Show Files. In the
Address field, you'll see the location of the
scripts—for example, \\savilltech.com\SysVolsavilltech.com\Policies\{EAB0039E-A6774C89-9CF2-053576CDA1FC}\Machine\Scripts Startup.
- Copy the Pushprinterconnections.exe
file from the C:\windows\PMCSnap folder (or,
if you're using a 64-bit server, copy the 32-bit
version from the 32-bit CD) to this location,
then close the window.
- In the Logon Properties or Startup Properties dialog box, click Add.
- Type pushprinterconnections.exe in the
Script Name field. (If you want to enable logging, type -log in the Script Parameters field
on the computer to which the policy is applied.
For per-computer connections, log files are
written to %windir%\Temp\PpcMachine.log;
for per-user connections, log files are written
to %temp%\PpcUser.log.)
- Click OK.
For per-user deployed printers, you should
now log off, then log back on. For per-machine
deployed printers, you should restart the targeted computer.
The use of Pushprinterconnections.exe—while not ideal—isn't a major deployment
consideration. Also, the generated log files
give you information that you can use for
debugging should the deployment not work.
You can also look on the machines that are targets for deployment by checking the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft PPC or HKEY_CURRENT_USER\SOFTWARE Microsoft\PPC registry subkey, whose default
value is a multivalue string, each line of which
is a printer that needs to be connected through
Pushprinterconnections.exe.
Can't Control Quota Usage
Quotas can be extremely useful. However,
users sometimes have a tendency to misuse
the space. Quota reports can tell you how users
are utilizing that space, but it can be difficult to
prevent users from writing illegal file types in
the first place.
One of the huge wins for Windows 2003 R2
is the File Server Resource Management (FSRM) component. In addition to its powerful reporting capabilities and a new quota system that
accounts for the disk's physical size (as opposed
to the logical size) with disk-level and folder-level targeted quotas, FSRM includes a real-time
engine that enables file-type enforcement based
on file extensions. This new screening technology checks a file's extension—for example, if it's
an MP3 file, the system knows it's a music file,
and therefore a policy to stop music files can
act on the file. If a user renames a music file to
music.not_a_mp3, the system wouldn't detect
the file. The system doesn't check the file's contents. However, the purpose of the technology is
to stop the "accidental" offender.
You manage file screening through the MMC
File Server Resource Manager snap-in, which Figure 3 shows. The default installation contains a number of file-group types, which are
definitions of common file extensions and their
content. For example, there's an Audio and
Video Files group that contains nearly all known
extensions. Once file groups exist, you can apply
a file screen to a disk or folder to enforce certain
behavior toward one or more file groups.
You can create an active or passive file
screen. If a certain file is a banned file type, an
active file screen actually stops the file—in real
time—from being written; a passive screen
allows the writing of the file but will perform
a particular action that you've defined. For a
given file screen, you can define a comprehensive set of actions to be performed in the event
of an offense (i.e., file activity of a screened file type). These actions include sending an email
message to the user or administrator, creating
an event log, and creating a report that shows
how a certain user is using disk space. You can
also initiate a custom action.
The first action type—sending an email
message—is crucial to the success of a filescreen rollout. Remember that file screening is
a new server-side technology; file screens are
invisible to client OSs, and if a user attempted
to write a screened file type, he or she would
simply receive an Access denied message, then
probably get on the phone to the Help desk.
By configuring an email action to occur seconds after the Access denied message, you can
inform the user, with your own custom text,
that company policy prohibits the type of file
he or she was attempting to write and that the
user should refer to a URL for a full list of company policies surrounding file server usage.
Microsoft supplies 11 standard File Groups,
which you can modify to add additional file
types as necessary.
To avoid the need to recreate actions every
time you set a file screen, you can define the
actions on templates. You can apply a template
to a specific file group, then apply it to disks
and folders as necessary. To create a file screen,
follow these steps:
- Open the MMC File System Resource
Manager snap-in by clicking Start, Programs,
Administrative Tools, File Server Resource
Manager.
- Expand the File Screening Management branch, and select File Screens.
- In the Actions pane, click Create File
Screen.
- Click Browse, and select the path to
which you want to apply the file screen. You
can then select the template from which you
want to derive the settings or set specific values, then click Create.
As Figure 4 shows, after you build a template, you can tune it and define
other file types or perform other
actions as necessary.
Another type of file screen is
possible. The standard file screen
is to block file groups, but you can
also create a file-screen exception. This capability is useful if, for
example, you want to block nearly
all file types at a root folder level
but create an Audio or Images
folder as a subfolder. You can
then create file-screen exceptions on those subfolders to allow
only audio and images, respectively, thereby forcing data to be
stored according to a predefined structure—as
opposed to anywhere on disk.
Obviously, there's a small amount of overhead
associated with this new technology because the
system is performing extra checks. However, the
overhead isn't significant: File Screening Management intercepts only write and change operations, and I haven't seen any instances in which
file screening has introduced any appreciable bottleneck to system operations.
A Final Caveat
These three common solutions can offer a
real benefit to almost any environment. However, a non-technical aspect of these solutions
must not be overlooked: communication. Both
access-based enumeration and file screening directly affect the end user's experience,
and unless communication occurs with users
before changes are made, the overall implementation will be seen a failure—no matter
how technically successful the implementation is. You never want end-user confusion to
ensue and productivity to drop.
You guys are over the top. I've had a paid subsription to whatever your magazine is called this month for years and I still can't get to the full text of an article without paying you more money for the Monthly Online Pass too!
What a bunch of greedy #$%@#$% you guys are.
Hey Bill, If you have a monthly subscription to Windows IT Pro, you should be able to access the full text of all WITP articles online--that's included in your sub. I'll let our customer service know and will ask them to help you out. You can also email Colette Riehl at criehl@pentontech.com for help. I apologize for any trouble you've had accessing articles, but we'll work on fixing that ASAP.
--Anne Grubb, senior editor, Windows IT Pro