Zero Touch Installation Deployment Feature Team Guide

Appendix H: Resolving Common ZTI Deployment Problems

Published: August 27, 2005

The following describes how to resolve some common ZTI deployment problems.

On This Page
Troubleshooting General Deployment ProblemsTroubleshooting General Deployment Problems
Troubleshooting PXE Boot Related Issues in RISTroubleshooting PXE Boot Related Issues in RIS
Troubleshooting Failed New Computer Scenario DeploymentFailure to Copy Log Files to Shared FoldersTroubleshooting Failed New Computer Scenario DeploymentFailure to Copy Log Files to Shared Folders
Identifying USMT-Related IssuesIdentifying USMT-Related Issues
Identifying Error Codes Returned by ZeroTouchInstallation.vbsIdentifying Error Codes Returned by ZeroTouchInstallation.vbs

Troubleshooting General Deployment Problems

Table 56 lists some symptoms that can cause the ZTI deployment process to fail, the possible problems, and some suggestion methods for resolving the problem.

Table 56. SMS Related Deployment Symptoms, Possible Problems, and Possible Solutions

SymptomPossible ProblemResolution

Workstations are not receiving the OSD package advertisements

Workstations are not included in the appropriate SMS collection.

Verify that the workstations are in the SMS collection used during the distribution of your OSD package.

ZTI scripts do not run properly

Workstations may not meet the hardware and software requirements.

Review workstation hardware and software requirements in Verifying Correct Workstation Software Versions and Verifying Adequate Workstation Resources earlier in this guide.

ZTI scripts do not run properly

Appropriate permissions may not be set on MigData, Logs, or distribution point shares.

Log on as the appropriate account and attempt to access files in the shares.

Updated packages and programs are not appearing on distribution points

Scheduled distribution of updates to packages and programs may be occurring longer than you required.

Manually updated the distribution points by using SMS 2003 Administrator.

Scanstate.exe returns an error code 32 on a workstation running Windows NT SP6a

Task Scheduler service is running that keeps the file SchedLog.txt in use.

Modify the Sysfiles.inf to exclude SchedLog.txt

The following are some SMS related troubleshooting resources:

Scenarios and Procedures for Systems Management Server 2003: Planning and Deployment

http://www.microsoft.com/downloads/details.aspx?FamilyID=E0644BB4-2336-4254-8A18-9BC180713F7E&displaylang=en

Active Directory Schema Modification and Publishing for Systems Management Server 2003

http://www.microsoft.com/downloads/details.aspx?FamilyId=D1DE764C-8E26-455F-BEE5-34FB1CA9F2C4&displaylang=en

Troubleshooting PXE Boot Related Issues in RIS

In brief, the PXE protocol operates as follows: The client initiates the protocol by broadcasting a DHCP Discover packet containing an extension that identifies the request as coming from a client that implements the PXE protocol. Assuming that a boot server implementing this extended protocol is available, the boot server sends an offer containing the IP address of the server that will service the client. The client uses TFTP to download the executable file from the boot server. Finally, the client initiates execution of the downloaded image.

The initial phase of this protocol piggybacks on a subset of the DHCP messages to enable the client to discover a boot server (that is, a server that delivers executable files for new computer setup). The client may use the opportunity to obtain an IP address (which is the expected behavior), but is not required to do so.

The second phase of this protocol takes place between the client and a boot server, and uses the DHCP message format simply as a convenient format for communication. This second phase of the protocol is otherwise unrelated to the standard DHCP services. The next few pages outline the step-by-step process during PXE client initialization.

For more information on troubleshooting PXE boot-related issues in RIS, see Knowledge Base Article 244036: Description of PXE Interaction Among PXE Client, DHCP, and RIS Server at http://support.microsoft.com/kb/244036/EN-US/

Disabling Windows PE Logging on the RIS Server

The first procedure you should do is to make sure you have disabled logging to setupapi.log following the instructions in the “Disabling Windows PE Logging on the RIS Server” section earlier in this document.

Ensuring the Proper DHCP Configuration

Depending on the router models in use, the specific router configuration of DHCP broadcast forwarding might be supported to either a subnet (or router interface), or to a specific host. If your DHCP servers and RIS servers are separate computers, ensure that the routers forwarding DHCP broadcasts are designed so that both the DHCP and RIS servers receive the client broadcasts, otherwise the client does not receive a reply to its remote boot request.

Is there a router between the client and the remote installation server that is not allowing the DHCP-based requests/responses through? When the RIS client and the RIS server are on separate subnets the router between the two systems must be configured to forward DHCP packets to the RIS server. This is because RIS clients discover a RIS server by using a DHCP broadcast message. Without DHCP forwarding set up on a router, the clients' DHCP broadcasts will never reach the RIS server. This DHCP forwarding process is sometimes referred to as DHCP Proxy or IP Helper Address in router configuration manuals. Please refer to your router instructions for setting up DHCP forwarding on your specific router.

Improving PXE IP Address Assignment Response Time

If it is taking a long time (15-20 seconds) for your PXE client to get an IP address, here are some things you might want to check:

Is the NIC on your client and the switch/router set to the same speed (Auto, duplex, full etc)

Do you have the IP address for your RIS server in the IP Helper file on the router you’re connecting through? If the list is long, can you move the address for the RIS server near the top?

Setupapi.log is disabled per section Disable WinPE Logging on the RIS Server earlier in this document.

Troubleshooting Failed New Computer Scenario DeploymentFailure to Copy Log Files to Shared Folders

During the deployment of a New Computer or Replace Computer scenario, you may see a warning message similar to the following, even though the share specified does exist:

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

Warning - Unable to copy local logfile 
(C:\MININT\SMSOSD\OSDLOGS\ZeroTouchInstallation.log)
because \\SERVERNAMEservername\Logs does not exist.

This message can occurs because OSD may not have the appropriate credentials to access the \\servername\Logs folder, when the \\servername\Logs folder resides on a server other than the distribution point. For more information on providing the appropriate credential for the different deployment phases, see Configuring Access for Deployment Phases earlier in this guide.

Identifying USMT-Related Issues

Review the ZTI log to help in resolving USMT-related issues.

The ZeroTouchInstallation.vbs script automatically scans the USMT progress logs for errors and warnings, The script writes each error and warning to the ZTI log. (The script writes at least the first 100 errors and warnings while ignoring the "Failed to locate the file object" warnings, as these are too common.) In addition, the script generates event ID 41010 to MOM with the following summary (where <USMTType> is "ESTIMATE", "SCANSTATE", or "LOADSTATE"; <ErrorCount> is the total number of errors found; and <WarningCount> is the total number of warnings found):

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

ZTI USMT <USMTType> reported <ErrorCount> errors
and <WarningCount> warnings

If the error count is greater than 0, this event is an Error type. If the warning count is greater than 0 with no errors, then the event is Warning type.  Otherwise, the event is an Informational type.

Identifying Error Codes Returned by ZeroTouchInstallation.vbs

Table 57 lists the error codes returned by ZeroTouchInstallation.vbs and a description of each error code. These return codes are recorded in the OSD log file (OSDAgent.log) which is stored in one of the following locations:

If the %TEMP% environment variable is set for the LocalSystem or default user profile, the OSD log file is stored in the %WINDIR%\TEMP\SMSOSD folder.

Otherwise, the OSD log file is stored in the %WINDIR%\SMSOSD folder.

Table 57. ZeroTouchInstallation.vbs Error Codes and Their Description

Error CodeThis Error Code Indicates That...

5000

Windows Scripting Host (WSH) is not installed.

5001

The version of WSH is prior to version 5.6.

5002

The script was unable to create WScript.Shell object. This infers that WSH is operating improperly and needs to be reinstalled.

5003

The script was unable to create WScript.Network object. This infers that WSH is operating improperly and needs to be reinstalled.

5004

The script was unable to create Scripting.FileSystemObject object. This infers that WSH is operating improperly and needs to be reinstalled.

5005

The script was unable to initialize the WshShell.Environment. This infers that WSH is operating improperly and needs to be reinstalled.

5005

No named parameters were passed to the script.

Listing 44 is an excerpt from an OSD log file that illustrates how to find the error code in OSDAgent.log. In this excerpt, the error code reported is 5001

Note Some parts of the following code snippet have been displayed in multiple lines only for better readability. These should be entered in a single line.

    .
    .
    .
<![LOG[The operating system installation failed.
Please contact your system administrator 
for assistance.
 
The action "Zero Touch Installation - Validation"
failed with exit code 5001]LOG]!>
<time="15:43:51.576+000" date="09-19-2004" 
component="OSDAgent" context="" type="3" 
thread="856" file="actionengine.cpp:1567">
    .
    .
    .

Listing 44. Excerpt from the OSDAgent.log file that contains error code 5001


Top of pageTop of pagePrevious19 of 25Next
**
In This Article
**