Boswell's Q&A
RIS on the Run
Admin wants to do unattended installs as smoothly as possible without "faking" it.
- By Bill Boswell
- 12/14/2004
Bill: I'm having a problem doing unattended installs on
client computers using Remote Installation Services (RIS). What seems
as a true unnattended install is not really one. I want a desktop to boot
to the network and automatically download and apply a RIS image without
any intervention on the part of a technician.
I found the trick for getting past F12 by using the Startrom.N12 file,
but how do we get rid of all those Client Installation Wizard screens
and simply load the operating system?
Jeff
Get
Help from Bill |
Got a Windows or Exchange question or need troubleshooting
help? Or maybe you want a better explanation than provided
in the manuals? Describe your dilemma in an e-mail
to Bill at mailto:[email protected];
the best questions get answered in this column.
When you send your questions, please include your
full first and last name, location, certifications (if
any) with your message. (If you prefer to remain anonymous,
specify this in your message but submit the requested
information for verification purposes.)
|
|
|
Readers: Just as a little background, the RIS process involves
booting a desktop (or server) using the Preboot Execution Environment
(PXE). As part of the PXE process (at least, the way it's implemented
in RIS), the client obtains a boot image called Startrom from a RIS server.
As Jeff discovered, the standard Startrom image prompts the user to press
F12 to continue with the boot process. A second version of Startrom, called
Startrom.N12, is an image that does not require pressing F12. Simply rename
the current Startrom file and rename Startrom.N12 as Startrom.
The Startrom boot image instructs the client to use trivial file transfer
protocol (tftp) to download a series of screens called the Client Installation
Wizard. These screens are made up of HTML2-compliant markup entries that
Microsoft calls OS Chooser Markup Language, or OSCML. The files that contain
OSCML have an .osc extension. They are installed as part of RIS. By walking
through the Client Installation Wizard, you can select from one of several
file-based "images" that have been uploaded to the RIS server
then choose to apply that image to the local machine. There are also third-party
imaging products that leveral RIS to deliver sector-based images.
See http://www.microsoft.com/resources/documentation/WindowsServ/
2003/all/techref/en-us/Default.asp?url=/Resources/Documentation/
windowsserv/2003/all/techref/en-us/W2K3TR_gpris_how.asp for a set
of Microsoft documents that show the structure of the RIS components,
file locations, and additional links that explain the OSCML entries.
The secret to customizing RIS is to hack the existing osc files so that
the client does your bidding. I'm sorry to say , but try as I might, I
can't automate the process to eliminate all the screens. It looks as if
RIS absolutely requires a minimum of two .osc files, which means that
the process must consist of two Client Installation Wizard screens that
require action on the part of the technician. The required files are:
- Welcome.osc. RIS gives an error if a Welcome.osc file does not exist
under E:\RemoteInstall\OSChooser\English.
- Install.osc. The target machine refuses to boot into Setup and download
the RIS image files unless the final screen comes from a file called
Install.osc.
I've boiled the Client Installation Wizard process into two screens.
All the tech needs to do is enter a password and press Enter twice. Here
are the .osc files. Be sure to save the original files before making any
changes.
Welcome.osc
<OSCML>
<META ACTION="LOGIN">
<BODY>
Here are the login credentials. Press Enter to proceed. <BR> <BR>
<FORM ACTION="INSTALL">
User name: <INPUT NAME="USERNAME" VALUE="administrator"
MAXLENGTH=25> <BR>
Password: <INPUT NAME="*PASSWORD" TYPE=PASSWORD MAXLENGTH=20><BR>
Domain name: <INPUT NAME="USERDOMAIN" VALUE=%SERVERDOMAIN%
MAXLENGTH=25> <BR>
Unattend Script Path: <INPUT NAME="SIF" VALUE="e:\remoteinstall\setup\english\images\xpsp2\i386\templates\remboot.si
f" maxlength=255><BR>
<INPUT NAME="NTLMV2Enabled" VALUE=%NTLMV2Enabled% MAXLENGTH=255
type=VARIABLE>
<INPUT NAME="ServerUTCFileTime" VALUE=%ServerUTCFileTime%
MAXLENGTH=255 type=VARIABLE>
</FORM>
</BODY>
</OSCML>
Install.osc
<OSCML>
<META KEY=ENTER ACTION="REBOOT">
<BODY>
Press Enter to begin Remote Installation Setup.<BR>
Here is the information assigned to the target computer:<BR>
<BR>
Computer Name: %MACHINENAME%<BR>
Target OU: %MACHINEOU%<BR>
Target Domain: %MACHINEDOMAIN%<BR>
</BODY>
</OSCML>
In the Welcome.osc file, replace the USERNAME value with an account from
your own domain. You could also assign a value to the password, but this
is a very poor security practice and should not be used in a production
environment. The credentials would be available to anyone who makes a
tftp connection to the server.
If you want to completely automate the operation and you have the budget
for the Enterprise Edition of Windows Server 2003, take a look at Automated
Deployment Services. You can use ADS to multicast images, you don't need
Active Directory, you can do a bare-metal install with no requirement
to be at the desktop and you get a lot more management features. In addition,
ADS uses sector- rather than file-based images but you can still change
the image because there's a utility that mounts the image as if it were
a file system. I've written a series of articles on that very process
that will appear on MCPmag.com beginning in January 2005.
Tracer Ire
In last
week's column, a reader pointed out that I included an incomplete
packet trace. The listing should have included the portion of the trace
that showed the frame statistics so as to show the erroneous Ethernet
frame size. Here's the example frame content:
Frame # Time Source Destination
Protocol Info
27 0.031250 10.1.1.1 1.1.1.2 SMB
Write AndX Request, FID: 0xc008, 4292 bytes at
offset 157593600
Frame 27 (4414 bytes on wire, 4414 bytes captured)
Ethernet II, Src: 00:0f:0f:0f:ef:cf, Dst: 00:5f:8f:af:df:9f
Internet Protocol, Src Addr: 10.1.1.1 (10.1.1.1), Dst Addr: 10.1.1.2
(10.1.1.2)
Transmission Control Protocol, Src Port: 3018 (3018), Dst Port: netbios-ssn
(139), Seq: 589122539, Ack: 82291026, Len: 4360
NetBIOS Session Service
SMB (Server Message Block Protocol)
Write AndX Request (0x2f)
I'll catch you next week!
About the Author
Contributing Editor Bill Boswell, MCSE, is the principal of Bill Boswell Consulting, Inc. He's the author of Inside Windows Server 2003 and Learning Exchange Server 2003 both from Addison Wesley. Bill is also Redmond magazine's "Windows Insider" columnist and a speaker at MCP Magazine's TechMentor Conferences.