Quantcast
Channel: System Center Configuration Manager
Viewing all 243 articles
Browse latest View live

How to properly set up a Task Sequence to deploy Windows 7 images captured via an SCCM 2007 Capture CD

$
0
0

imageWhen a Task Sequence is created via the "Create New Task Sequence Wizard", the Task Sequence may fail if the Windows OS being deployed is Windows 7 and the reference Windows 7 WIM image being deployed was manually created and then captured using the SCCM 2007 Capture CD.

The Task Sequence Error dialog may show one of the following errors:

Error 1

Task Sequence: <Task_Sequence_Name> has failed with the error code (0x8000FFFF). For more information, please contact your system administrator or helpdesk operator.

Error 2

Task Sequence: <Task_Sequence_Name> has failed with the error code (0x80070070). For more information, please contact your system administrator or helpdesk operator.

Examining the SMSTS.log(s) reveals one or more of the following errors:

Error 1

Partition 1 larger than remaining disk space. Requested partition size: <X>, remaining size: <Value_smaller_than_X> OSDDiskPart
LoadPartitionConfiguration( i, oDisk, cbDiskSize, cbContainerPartitionSize, pCurPartition), HRESULT=8000ffff (e:\nts_sms_fre\sms\client\osdeployment\osddiskpart\main.cpp,751) OSDDiskPart
LoadDiskConfiguration(oDisk), HRESULT=8000ffff (e:\nts_sms_fre\sms\client\osdeployment\osddiskpart\main.cpp,1412) OSDDiskPart
Invalid configuration specified.  Please ensure that the task sequence is properly configured. OSDDiskPart
OSDDiskPart.exe failed: 0x8000ffff OSDDiskPart
Process completed with exit code 2147549183 TSManager
!--------------------------------------------------------------------------------------------! TSManager
Failed to run the action: Partition Disk.
Catastrophic failure (Error: 8000FFFF; Source: Windows) TSManager
The execution of the group (Install Operating System) has failed and the execution has been aborted. An action failed.
Operation aborted (Error: 80004004; Source: Windows) TSManager
Failed to run the last action: Partition Disk. Execution of task sequence failed.
Catastrophic failure (Error: 8000FFFF; Source: Windows) TSManager

Error 2

Successfully wiped C:\ ApplyOperatingSystem
Applying image to C:\ ApplyOperatingSystem
Applying image 2 to volume C: ApplyOperatingSystem
WIM error:C:\Windows\winsxs\x86_microsoft-windows-mulanttsvoiceenudsk_31bf3856ad364e35_6.1.7600.16385_none_0f51daf70520cd99\M1033DSK.CSD.
There is not enough space on the disk. (Error: 80070070; Source: Windows) ApplyOperatingSystem
WIMApplyImage( hVolumeImage, const_cast<LPWSTR>(pathTargetVolume.c_str()), WIM_FLAG_VERIFY), HRESULT=80070070 (e:\nts_sms_fre\sms\framework\tscore\wimfile.cpp,512) ApplyOperatingSystem
Unable to apply (0x80070070) ApplyOperatingSystem
this->imageFile.ApplyVolumeImage(imageIndex, this->targetVolume), HRESULT=80070070 (e:\nts_sms_fre\sms\client\osdeployment\applyos\installimage.cpp,707) ApplyOperatingSystem
ApplyImage(), HRESULT=80070070 (e:\nts_sms_fre\sms\client\osdeployment\applyos\installimage.cpp,1416) ApplyOperatingSystem
Apply(), HRESULT=80070070 (e:\nts_sms_fre\sms\client\osdeployment\applyos\installimage.cpp,1456) ApplyOperatingSystem
Installation of image 2 in package SP20001C failed to complete..
There is not enough space on the disk. (Error: 80070070; Source: Windows) ApplyOperatingSystem
Failed to run the action: Apply Operating System.
There is not enough space on the disk. (Error: 80070070; Source: Windows) TSManager
The execution of the group (Install Operating System) has failed and the execution has been aborted. An action failed.
Operation aborted (Error: 80004004; Source: Windows) TSManager
Failed to run the last action: Apply Operating System. Execution of task sequence failed.
There is not enough space on the disk. (Error: 80070070; Source: Windows) TSManager

Cause

The issue may occur because of two reasons:

  1. The "Create New Task Sequence Wizard" may create the Task Sequence with the "Apply Operating System" task and "Apply Data Image 1" task in the incorrect order.
  2. The "Create New Task Sequence Wizard" may create a partition the size of the hard drive where the Task Sequence was created, which usually will not match up with the size of the hard drive where the Task Sequence is deployed to.
Resolution

Use one of the below methods to resolve the issue.  If the 100MB partition for BitLocker is desired, Method 1 is preferred because it is cleaner and less complex. If no 100MB partition is desired for BitLocker, use Method 3.

Method 1

1. Right click the affected Task Sequence and choose “Edit”.

2. In the left pane of the Task Sequence select “Partition Disk”.

3. Double click on the first item under “Volume” to bring up the “Partition Properties”.

4. Under “Formatting options”, select “Quick Format”. Make sure that the option "Make this the boot partition" is set. Click on the “OK” button.

5. Double click on the second item under “Volume:” to bring up the “Partition Properties”.

6. Under “Partition options”, select “Use a percentage of remaining free space”. Set the “Size(%)” field to “100”.  Under “Formatting options”, select “Quick Format”.

7. Select the “Apply Operating System” task.

8. Under the “Apply operating system from a captured image” option, make sure that the “Image:” drop down menu is set to “2-2”.

9. Select the “Apply Data Image 1” task.

10. Under the “Select the image from this package that you want to apply. This image can not contain any operating system.” option, make sure the “Image:” drop down menu is set  to “1-1”.

11. Move the “Apply Data Image 1” task immediately BEFORE the “Apply Operating System” task, but AFTER the “Partition Disk” task.

In Method 1, we apply the Data Image first via the "Apply Data Image 1" task, although the data image really doesn't contain anything we need. The reason we take this step is so that the "Apply Operating System" task that follows it moves on to the second partition via the option "Next available formatted partition". If we did not include the "Apply Data Image 1" task, the Task Sequence would try to apply the OS image on the first partition instead of the second partition.

Method 2

1. Right click the affected Task Sequence and choose “Edit”.

2. In the left pane of the Task Sequence select “Partition Disk”.

3. Double click on the first item under “Volume” to bring up the “Partition Properties”.

4. Under “Formatting options”, select “Quick Format”. In the “Variable:” field under “Advance options”, type

BOOTPART

Make sure that the option "Make this the boot partition" is set. Click on the “OK” button.

5. Double click on the second item under “Volume:” to bring up the “Partition Properties”.

6. Under “Partition options”, select “Use a percentage of remaining free space”. Set the “Size(%)” field to “100”.  Under “Formatting options”, select “Quick Format”. In the “Variable:” field under “Advance options”, type

OSPART

Click on the “OK” button.

7. Select the “Apply Operating System” task.

8. Under the “Apply operating system from a captured image” option, make sure that the “Image:” drop down menu is set to “2-2”.

9. Under the “Select the location where you want to apply this operating system”, select from the “Destination:” drop-down menu “Logical drive letter stored in a variable”. In the “Variable name:” field, type

OSPART

10. Select the “Apply Data Image 1” task.

11. In the right pane of the Task Sequence, click on the “Options” tab. Select “Disable this step”. As an alternative, you can also completely remove the “Apply Data Image 1” task instead of just simply disabling it.

12. Click on the “OK” button to save the changes to the Task Sequence.

In Method 2, we have specified specifically what partition the OS image should be installed onto and not allowed it "guess" via the option "Next available formatted partition". Via Steps 10 and 11, we also have chosen not to apply the 100MB partition data image because it does not contain anything we need so it is not necessary (the "Setup windows and ConfigMgr" task will take care of setting up the Boot Manager on this partition). These steps are actually necessary because if these steps are not taken, it can cause issues 4 & 5 listed in the More Information section. Assigning the variable “BOOTPART” in Step 4 above is actually also not necessary because the variable is never used, but is included to make a clear distinction between the Boot and Windows partitions.

Method 3

Method 3 should only be used to create only one partition that fills the entire hard drive in cases where 100MB partition is not desired for either immediate or future use of BitLocker:

1. Right click the affected Task Sequence and choose “Edit”.

2. In the left pane of the Task Sequence select “Partition Disk”.

3. Double click on the first item under “Volume” to bring up the “Partition Properties”.

4. Under “Partition options”, select “Use a percentage of remaining free space”. Set the “Size(%)” field to “100”. Under “Formatting options”, select “Quick Format”. Make sure that the option "Make this the boot partition" is set. Click on the “OK” button.

5. Single click on the second item under “Volume:” to highlight it, and then click on the red “X” button to delete it.

6. Select the “Apply Operating System” task.

7. Under the “Apply operating system from a captured image” option, make sure that the “Image:” drop down menu is set to “2-2”.

8. Select the “Apply Data Image 1” task.

9. In the right pane of the Task Sequence, click on the “Options” tab. Select “Disable this step”. As an alternative, you can also completely remove the “Apply Data Image 1” task instead of just simply disabling it.

Note: Method 3 is actually the exact way that Task Sequences are created by the "New Task Sequence Wizard" when deploying non-Windows 7 OSes.

Hope this helps,

Frank Rojas | Configuration Manager Support Escalation Engineer


NIC devices that require a special driver for WinPE may cause a ConfigMgr Task Sequence to fail if a Vista or newer OS is being deployed via an Operating System Install Package

$
0
0

imageIf separate NIC drivers are offered by an OEM manufacturer for use in Windows PE vs. the full Windows OS, the Task Sequence may fail if the Windows OS being deployed is Windows Vista or newer (Vista, Windows 7, 2008, 2008 R2) and if it is being deployed from an "Operating System Install Packages" (Windows installation source files).

Usually the OEM manufacturer offers separate NIC drivers for use in WinPE vs. the full Windows OS because of special characteristics of the NIC, such as it being a multi-tiered device. WinPE does not support multi-tiered devices, so the OEM manufacturer offers a "monolithic" driver for use in WinPE. An example of such a NIC device is the Broadcom NetXtreme II (based on the 5706, 5708, 5709, and 5716 chipsets) commonly seen on server class hardware. Please see the below link for additional information regarding the Broadcom NetXtreme II NIC:

http://www.broadcom.com/support/ethernet_nic/netxtremeii.php

Note: The monolithic driver for the Broadcom NetXtreme II NIC does not need to be loaded into the WinPE Boot Images of SP2 of SCCM 2007. SCCM 2007 SP2 utilizes WinPE 3.0 which already contains the NetXtreme II NIC monolithic driver. However it does need to be loaded in the Boot Images of SP1 of SCCM 2007. SCCM 2007 SP1 utilizes WinPE 2.1 which does not contain this driver.

When the Task Sequence fails, the errors displayed both in the interface and in the SMSTS.log may be different depending on if the deployment was an SCCM 2007 SP1 vs. SCCM 2007 SP2 Task Sequence. It will also vary depending if the Advertisement for the Task Sequence is set to download and run locally ("Download content locally when needed by running task sequence") or run from DP ("Access content directly from a distribution point when needed by the running task sequence").

Below are example error messages for each scenario:

SCCM 2007 SP1 & SP2 Run From DP

SMSTS.log:

Executing command line: "\\<DP_SERVER>\<DPSHARE>$\<Windows_Installation_Package_ID>\SOURCES\SETUP.EXE" "/unattend:C:\_SMSTaskSequence\unattend.xml" /noreboot OSDSetupWindows
Process completed with exit code 3221225478 OSDSetupWindows
Windows Setup completed with exit code 3221225478 OSDSetupWindows
Entering ReleaseSource() for \\<DP_SERVER>\<DPSHARE>$\<Windows_Installation_Package_ID>\ OSDSetupWindows
reference count 1 for the source \\<DP_SERVER>\<DPSHARE>$\<Windows_Installation_Package_ID>\ before releasing OSDSetupWindows
Released the resolved source \\<DP_SERVER>\<DPSHARE>$\<Windows_Installation_Package_ID>\ OSDSetupWindows
exitCode == 0, HRESULT=80004005 (e:\nts_sms_fre\sms\client\osdeployment\setupwindows\setupwindows.cpp,440) OSDSetupWindows
Windows setup failed, code 3221225478 OSDSetupWindows
setup.run(), HRESULT=80004005 (e:\nts_sms_fre\sms\client\osdeployment\setupwindows\setupwindows.cpp,1707) OSDSetupWindows
Exiting with code 0x80004005 OSDSetupWindows
Process completed with exit code 2147500037 TSManager
!--------------------------------------------------------------------------------------------! TSManager
Failed to run the action: Setup windows and ConfigMgr.
Unspecified error (Error: 80004005; Source: Windows) TSManager

The execution of the group (Setup Operating System) has failed and the execution has been aborted. An action failed.
Operation aborted (Error: 80004004; Source: Windows) TSManager
Failed to run the last action: Setup windows and ConfigMgr. Execution of task sequence failed.
Unspecified error (Error: 80004005; Source: Windows) TSManager

Setupact.log and Setuperr.log:

SP1:

<Date> <Time>, Info                  IBS    SetImageXMLOnBB:Could not cache the WinPE image XML info [\\<DP_Server>\<DP_Share>$\<Windows_Installation_Package_ID>\SOURCES\Boot.wim]. Error code is [0x35]
<Date> <Time>, Info       [0x060115] IBS    Callback_Productkey_Validate_Unattend:Using ProductKey WillShowUI value of [OnError]; retrieving key from unattend file...
<Date> <TIME>, Error      [0x060412] IBS    IsValidTargetLanguage: Unable to get languages from the lang.ini file.[gle=0x00000035]
or
<Date> <TIME>, Error      [0x060412] IBS    IsValidTargetLanguage: Unable to get languages from the lang.ini file.[gle=0x00000040]

<Date> <TIME>, Error      [0x060467] IBS    Failed to retrieve compressed image size for '\\<DP_Server>\<DP_Share>$\<Windows_Installation_Package_ID>\SOURCES\Install.wim'[gle=0x00000035]
or
<Date> <TIME>, Error      [0x060467] IBS    Failed to retrieve compressed image size for '\\<DP_Server>\<DP_Share>$\<Windows_Installation_Package_ID>\SOURCES\Install.wim'[gle=0x00000040]

<Date> <TIME>, Info                         [SETUP.EXE] Called script [X:\windows\Setup\Scripts\ErrorHandler.cmd] to handle fatal error
<Date> <TIME>, Info       [0x070042] DIAG   CallBack_DiagnosticDataSend: Called with notification for Error published by ErrorHandler
<Date> <TIME>, Info       [0x0601d7] IBS    InstallWindows:Error Type = 3211266

SP2:

<Date> <Time>, Info       [0x060115] IBS    Callback_Productkey_Validate_Unattend:Using ProductKey WillShowUI value of [OnError]; retrieving key from unattend file...
<Date> <TIME>, FatalError [0x090001] PANTHR Unhandled exception (code 0xC0000006: IN_PAGE_ERROR) occurred at 0x735E87D4 in \\<DP_SERVER>\<DPSHARE>\<Windows_Installation_Package_ID>\SOURCES\win32ui.dll (+000287D4).  Minidump attached (51636 bytes).

SCCM 2007 SP1 Download & Run Locally

SMSTS.log:

Executing command line: "C:\_SMSTaskSequence\Packages\<Package_ID>\SOURCES\SETUP.EXE" "/unattend:C:\_SMSTaskSequence\unattend.xml" /noreboot OSDSetupWindows
Process completed with exit code 0 OSDSetupWindows
Windows Setup completed with exit code 0 OSDSetupWindows

GetDirectoryListing() entered OSDSetupHook
Initializing HTTP transport. OSDSetupHook
   Setting URL = http://<SCCM_MP_Server>/SMS_DP_SMSPKG<Drive_Letter>$/<Package_ID>/. OSDSetupHook
   Address = <SCCM_MP_Server>, Object = /SMS_DP_SMSPKG<Drive_Letter>$/<Package_ID>/, Port = 80. OSDSetupHook
WinHttp credentials set OSDSetupHook
CLibSMSMessageWinHttpTransport::Send: URL: <SCCM_MP_SERVER>:80  PROPFIND /SMS_DP_SMSPKG<Drive_Letter>$/<Package_ID>/ OSDSetupHook
Error. Received 0x80072ee7 from WinHttpSendRequest. OSDSetupHook
unknown host (gethostbyname failed) OSDSetupHook
hr, HRESULT=80072ee7 (e:\nts_sms_fre\sms\framework\osdmessaging\libsmsmessaging.cpp,7714) OSDSetupHook
sending with winhttp failed; 80072ee7 OSDSetupHook
oHttpTransport.Send((char*)S_DAVQUERY, (sizeof(S_DAVQUERY)/sizeof(S_DAVQUERY[0]))-sizeof(char), pReply, nReplySize), HRESULT=80072ee7 (e:\nts_sms_fre\sms\framework\tscore\downloadcontent.cpp,585) OSDSetupHook
SendResourceRequest() failed with 0x80072ee7 OSDSetupHook
SendResourceRequest(), HRESULT=80072ee7 (e:\nts_sms_fre\sms\framework\tscore\downloadcontent.cpp,371) OSDSetupHook
oDavRequest.GetDirectoryListing(setDirs, setFiles), HRESULT=80072ee7 (e:\nts_sms_fre\sms\framework\tscore\resolvesource.cpp,2419) OSDSetupHook
Retrying download... OSDSetupHook

No errors in the Setupact.log or Setuperr.log

SCCM 2007 SP2 Download & Run Locally

Deployment runs successfully

Cause

The basic cause of the problem is that network connectivity is lost in WinPE when the NIC driver is installed. When running from DP, the Task Sequence will fail immediately after the NIC driver install takes place. When downloading and running locally, the Task Sequence will fail a few minutes after the the NIC driver install takes place and right after the initial Windows setup is complete. Loss of network connectivity is caused by how and when the NIC driver is installed by the SCCM OSD Task Sequence.

In Windows Vista or newer (Vista, Windows 7, 2008, 2008 R2), drivers can be installed during one of several different passes during an unattended Windows installation. These passes are described in the below TechNet article:

Add Device Drivers During Windows Setup
http://technet.microsoft.com/en-us/library/cc766485(WS.10).aspx

When either the "Apply Driver Package" task or "Auto Apply Driver" task is included as part of an SCCM 2007 OSD Task Sequence that is deploying an Operating System via an "Operating System Install Packages" (Windows installation source files), the Task Sequence will automatically generate and/or add to an unattend.xml file specifying for the drivers to be installed during the windowsPE phase. According to the above TechNet article, drivers installed during windowsPE phase are not only installed within WinPE, but also in the full Windows OS installation:

"If you need drivers for Windows PE to see the local hard disk drive or a network, this configuration pass must be used to add the necessary drivers to the Windows PE driver store. The windowsPE configuration pass also configures settings that apply to installation. This means that drivers in the Windows PE driver store are also reflected into the offline Windows image or copied to the Windows image driver store during offline servicing."

The problem with installing NIC drivers that are different for WinPE vs. the full Windows OS is that attempting to install such drivers during the windowsPE phase will cause network connectivity in WinPE to stop working and fail. This occurs because the incorrect drives are "reinstalled" while still in WinPE.

The exact failure is different depending if SCCM 2007 SP1 or SCCM 2007 SP2 is being used. SP1 utilizes WinPE 2.1 and SP2 utilizes WinPE 3.0. In SP1, when the driver is attempted to be installed while in WinPE 2.1, the network connectivity is lost permanently. In SP2, when the driver is attempted to be installed while in WinPE 3.0, network connectivity is also lost. However, WinPE 3.0 handles the issue better and after a few seconds recovers and network connectivity is regained.

If the Task Sequence is being run from the DP, in both SP1 and SP2, the Task Sequence will fail during the initial Windows Setup. When Windows Setup installs the NIC driver, the Task Sequence will fail immediately after the NIC driver has been installed. Specifically, when the failure happens, the Task Sequence is accessing the Windows installation source files directly on the DP. Since it cannot access these files anymore due to the loss of network connectivity, Windows Setup fails, which causes the Task Sequence to fail.

If the Task Sequence is downloading and running locally, the Task Sequence will not fail immediately upon the installation of the NIC driver. Since the Windows installation source files have already been downloaded and are located locally on the hard drive, the Task Sequence will continue with Windows Setup using the Windows installation source files located locally on the hard drive even if there is no network connectivity. The initial Windows Setup will then succeed but once it completes, since network connectivity is needed once again to continue the Task Sequence, in the case of SP1 and WinPE 2.1 where network connectivity never comes back, the Task Sequence fails when it cannot access the network to continue. However, in SP2 that utilizes WinPE 3.0, since network connectivity has been regained by the point that the initial Windows Setup completes and network connectivity is needed again by the Task Sequence, the Task Sequence continues and completes successfully. so the issue does not occur.

Resolution

There are several solutions to the problem:

1) Upgrade to SP2 of SCCM 2007, and then choose the option to download and run the Task Sequence locally ("Download content locally when needed by running task sequence") in the properties of the Advertisement of the Task Sequence.

2) Capture a reference image of the Windows OS on another model PC that does not utilize the affected NIC, and then deploy Windows OS via a Task Sequence that deploys from an Operating System Image instead of an Operating System Install Package. The way drivers are injected and installed in an Operating System Image is different than an Operating System Install Package (drivers are injected directly into the Operating System Image's Driver Store) so the process completes successfully.

3) Install an additional NIC card that does not require separate drivers for WinPE vs. the full Windows OS into the PC . Disconnect the NIC that requires separate drivers for WinPE vs. the full Windows OS, and then use the newly installed NIC exclusively during the Task Sequence.

4) The affected NIC drivers need to be somehow installed during the offlineServicing pass instead of the windowsPE pass. However there is no way to change the default behavior of the SCCM 2007 OSD Task Sequence tasks "Apply Driver Package" and "Auto Apply Drivers" to install drivers during a pass other than the windowsPE pass.Although by default the pass used by and automatically generated by an SCCM 2007 OSD Task Sequence in the unattend.xml file cannot be changed, some additional tasks can be added to the Task Sequence that manipulates both the unattend.xml file and where the drivers are installed from. This process is described below:

A) Open Notepad.

B) Below, choose the appropriate architecture of the Windows OS being deployed, copy the lines below the architecture, and paste them into the Notepad:

x86:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="offlineServicing">
        <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <DriverPaths>
                <PathAndCredentials wcm:action="add" wcm:keyValue="1">
                    <Path>C:\_SMSTaskSequence\Drivers2</Path>
                </PathAndCredentials>
            </DriverPaths>
        </component>
    </settings>
</unattend>

x64:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="offlineServicing">
        <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <DriverPaths>
                <PathAndCredentials wcm:action="add" wcm:keyValue="1">
                    <Path>C:\_SMSTaskSequence\Drivers2</Path>
                </PathAndCredentials>
            </DriverPaths>
        </component>
    </settings>
</unattend>


C) Save the Notepad file with the name unattend.xml

When saving the file, make sure that "All Files (*.*)" is selected next to "Save as type:" so that it does not append the .txt extension to the file.

D) In the SCCM 2007 Admin console, under the "Computer Management" -->"Software Distribution" --> "Packages" node, create a new package that contains the unattend.xml file created in Steps B & C. A Program does not need to be created for the Package. After creating the Package, make sure to copy the Package to the Distribution Points.

E) In the SCCM 2007 Admin Console, under the "Computer Management" -->"Operating System Deployment" --> "Task Sequences" node, right click on the affected Task Sequence and choose "Properties".

F) In the "Apply Operating System" task, check the option "Use an unattended or sysprep answer file for a custom installation". Next to the "Package:" field, click on the "Browse..." button and select the package created in Step D. Next to the field "Filename:", enter in unattend.xml

G) Create a Driver Package that ONLY contains the drivers of the affected NIC device. Make sure to add the Driver Package to the Distribution Points after creating it.

H) If applicable, create a second Driver Package that contains all of the other drivers that need to be installed on the PC during the Task Sequence. Do NOT include the affected NIC drivers in this second Driver Package. Make sure to add the Driver Package to Distribution Points after creating it.

I) Remove any "Auto Apply Driver" tasks from the Task Sequence.

J) Immediately after the "Apply Network Settings" task, add an "Apply Driver Package" task and point it to the Driver Package created in Step G that only contains the affected NIC driver.

K) Immediately after the "Apply Driver Package" task created in Step J, add a "Run Command Line" task. In the "Name:" box, type in:

Rename Drivers Directory

In the "Command line:" box, enter in

cmd /c move "%_SMSTSMDataPath%\Drivers" "%_SMSTSMDataPath%\Drivers2"

L) Immediately after the "Run Command Line" task created in Step K, add another "Run Command Line" task. In the "Name:" box, type in:

Recreate Drivers Directory

In the "Command line:" box, enter in

cmd /c md "%_SMSTSMDataPath%\Drivers"

M) If applicable, immediately after the "Run Command Line" task added in Step L, add an "Apply Driver Package" and point to the Driver Package created in Step H that contains all of the rest of the drivers for the PC.

It is possible to use solution #4 and the above steps using the "Auto Apply Drivers" task instead. Instead of creating two separate Driver Packages and two separate "Apply Driver Package" tasks, two "Auto Apply Drivers" tasks that utilize driver categories can be used instead. A special driver category would need to be created for the affected NIC driver, and a separate category would need to be created for all other drivers. For the first"Auto Apply Drivers" task , choose the option "Limit driver matching to only consider drivers in selected categories", and then select the special category created for the affected NIC driver. In the second "Auto Apply Drivers" task, also select the option "Limit driver matching to only consider drivers in selected categories", but this time select the category created for all other drivers. Make sure that the affected NIC driver is NOT included in the "all other drivers" category.

NOTE:
As a possible resolution, attempting to not install any driver for the NIC while in WinPE via the "Apply Driver Package" task and/or the "Auto Apply Drivers" task and instead trying to install the NIC driver later in the Task Sequence during the full Windows OS portion (after the "Setup windows and ConfigMgr" task), via an "Install Software" task, does not resolve the problem. Once the Task Sequence detects that it does not have network connectivity in the full Windows OS (due to the NIC driver not being installed), the Task Sequence will fail. It will never get to the "Install Software" task that installs the NIC driver. Additionally, even if the Task Sequence did get to the "Install Software" task that installs the NIC driver, there would be no way of reaching the DP and downloading the software package containing the NIC driver since there is no network connectivity.

Frank Rojas | System Center Support Escalation Engineer

When deploying Windows Server 2008 using an SCCM 2007 OSD Task Sequence, additional disks may show as offline when the Task Sequence completes

$
0
0

image

Note: There is an updated version of this article over at the Configuration Manager OSD Support Team Blog. For the latest version, please visit the below article:

When deploying Windows Server 2008 using a Configuration Manager OSD Task Sequence, additional disks may show as offline when the Task Sequence completes

=====

When deploying Windows Server 2008 or Windows Server 2008 R2 on a server that contains disks that are not local (such as SAN or SAS disks) using an SCCM 2007 OSD Task Sequence, when the Task Sequence completes the additional disks may not come online and may show as offline. Specifically, in Disk Management the additional disks will show offline with the following message:

Disk is offline due to a policy set by an administrator

This issue usually happens with the Enterprise and Datacenter editions of Windows Server 2008 and Windows Server 2008 R2 but may also happen in the Standard edition. In the Enterprise and Datacenter editions of Windows Server 2008 and Windows Server 2008 R2, the default SAN policy is to set the disks to offline. Please see the following for more information:

You may see "Media is Write Protected" Error or VDS error 80070013 after bringing SAN disk online via Diskpart in Windows Server 2008
http://support.microsoft.com/kb/971436/

VDS_SAN_POLICY Enumeration
http://msdn.microsoft.com/en-us/library/bb525577(VS.85).aspx

Configure the SAN policy
http://technet.microsoft.com/en-us/library/cc749466(WS.10).aspx

SanPolicyType
http://technet.microsoft.com/en-us/library/cc765965(WS.10).aspx

Note: The above link regarding SanPolicyType specifies that the default value for the SAN Policy is 1 and to mount all available storage devices. However, in the case of the Enterprise and Datacenter editions of Windows Server 2008 and Windows Server 2008 R2, the actual default policy is 2 and to mount all storage devices except those on a shared bus. This can be confirmed by using the System Image Manager (SIM) of the WAIK. When building an unattend.xml file for either the Enterprise or Datacenter editions of Windows Server 2008 or Windows Server 2008 R2 using the SIM, when the SanPolicyType is added under the Microsoft-Windows-PartitionManager section, the policy defaults to 2. In all other Windows OSes, the policy defaults to 1.

Resolution

To resolve the issue, the steps from KB971436 need to be added in a Task Sequence. Additionally, the section described in the TechNet article regarding SanPolicyType may need to be added to the unattend.xml file:

1) Open Notepad

2) In Notepad, paste the following lines:

select disk <disk#>
online disk
attribute disk clear readonly

Replace <disk#> with the disk number of the SAN/SAS disk (without the brackets <>).

3) Save the Notepad file with the name sanpolicy.txt

4) In the SCCM 2007 Admin Console, under the "Computer Management" --> "Software Distribution" --> "Packages" node, create a package that contains the sanpolicy.txt file created in Steps 2 & 3. A Program does not need to be created for the Package. After creating the Package, make sure to copy the Package to the Distribution Points.

5) In the SCCM 2007 Admin Console, under the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node, right click on the affected Task Sequence and choose "Properties".

6) Immediately after the "Format and Partition Disk" tasks, add a "Run Command Line" task.

7) In the newly created "Run Command Line" task:

a) Check the "Package:" option and then click on the "Browse..." button and select the Package created in Step 4.

b) In the "Name:" box, type in:

Set SAN Policy

c) In the "Command line:" box, enter in

diskpart /s sanpolicy.txt

8) Click on the "Apply" button to save the Task Sequence.

If after following the above steps the disk still appears as offline and does not come on online automatically, then a custom unattend.xml file needs to be added to change the default SAN policy:

9) Open Notepad

10) Below, choose the appropriate architecture of the Windows OS being deployed, copy the lines below the architecture, and paste them into the Notepad:

x86
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="offlineServicing">
        <component name="Microsoft-Windows-PartitionManager" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SanPolicy>1</SanPolicy>
        </component>
    </settings>
</unattend>

x64
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="offlineServicing">
        <component name="Microsoft-Windows-PartitionManager" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SanPolicy>1</SanPolicy>
        </component>
    </settings>
</unattend>

11) Save the Notepad file with the name unattend.xml

When saving the file, make sure that "All Files (*.*)" is selected next to "Save as type:" so that it does not append the .txt extension to the file.

12) In the SCCM 2007 Admin console, under the "Computer Management" --> "Software Distribution" --> "Packages" node, create a new package that contains the unattend.xml file created in Steps 10 & 11. A Program does not need to be created for the Package. After creating the Package, make sure to copy the Package to the Distribution Points.

13) In the SCCM 2007 Admin Console, under the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node, right click on the affected Task Sequence and choose "Properties".

14) In the "Apply Operating System" task, check the option "Use an unattended or sysprep answer file for a custom installation". Next to the "Package:" field, click on the "Browse..." button and select the package created in Step 12. Next to the field "Filename:", enter in
unattend.xml

15) Click on the "Apply" button to save the Task Sequence.

Frank Rojas | System Center Support Escalation Engineer

New Hotfix: User data from the USMT may be deleted unexpectedly by the task sequence engine during the operating system deployment process in System Center Configuration Manager 2007 SP1

$
0
0

imageConsider the following scenario:

  • You create a task sequence to install an existing Operating System Deployment (OSD) image package.
  • On the State Migration page, you select the Save user settings locally option.
  • You deploy this package to some clients.
  • The deployment process fails.
In this scenario, you may find that the captured user data is deleted from the User State Migration Tool (USMT). This means that a computer that captures user data may wipe the hardware drive that contains the user data, and then you cannot restore the deleted user data.
You expect the user data to be saved in another location during the OSD process instead of being deleted.

If you're running into this issue then check out our new Knowledge Base article and hotfix:

KB958808 - User data from the USMT may be deleted unexpectedly by the task sequence engine during the operating system deployment process in System Center Configuration Manager 2007 SP1

J.C. Hornbeck | System Center Knowledge Engineer

Configuration Manager 2007 Task Sequence to assist in resolving McAfee Antivirus deleting svchost.exe

$
0
0

GrayAndYellowGears By now I'm sure you all heard about the false positive detection of w32/wecorl.a in 5958 DAT issue with McAfee and how it can cause a no-boot situation in Windows XP SP3.  McAfee themselves as well as some of our colleagues on the Windows team have a resolution posted that describes how to fix this one a one-by-one basis, but what if you have a lot of clients experiencing the issue?  Well if you're running System Center Configuration Manager 2007 then your life just got a whole lot easier.  Using ConfigMgr 2007, this issue can be remediated by a SCCM 2007 Task Sequence by booting into WinPE via PXE or Boot Media and copying svchost.exe from the DLLCache back to its proper location. The EXTRA.DAT file from the above McAfee article can also be copied over to its proper location to prevent the issue from occurring again.  Here are the details:

Symptoms

When McAfee virus definition 5958 DAT file dated April 21, 2010 is applied in Windows XP SP3, svchost.exe is removed from C:\Windows\System32 causing the machine to go into a reboot loop and possibly blue-screen.

Cause

When McAfee virus definition 5958 DAT file is applied in Windows XP SP3, it incorrectly identifies svchost.exe as the w32/wecorl.a virus causing the file to be quarantined and removed from C:\Windows\System32. For more information please see the following McAfee article:

False positive detection of w32/wecorl.a in 5958 DAT : https://kc.mcafee.com/corporate/index?page=content&id=KB68780

Resolution

This issue can be remediated by via an SCCM 2007 Task Sequence by booting into WinPE via PXE or Boot Media and copying svchost.exe from the DLLCache back to its proper location. The EXTRA.DAT file from the above McAfee article can also be copied over to its proper location to prevent the issue from occurring again.

To create the Task Sequence:

1) Download and unzip the EXTRA.zip file from the above McAfee link. The ZIP file should contain one file called EXTRA.DAT.

2) In the SCCM 2007 Admin console, navigate to "Computer Management" --> "Software Distribution" --> "Packages" node.

3) In the "Packages" node create a package that contains the EXTRA.DAT file downloaded from Step 1. A program does not need to be created with the package.  Make sure to copy the package to the DPs.

4) In the SCCM 2007 Admin console, navigate to the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node.

5) Right click on the "Task Sequences" node and choose "New" --> "Task Sequence"

6) In the "New Task Sequence Wizard", select "Create a new custom task sequence" and then click on the "Next >" button.

7) In the "Task Sequence name:" field, give the Task Sequence an appropriate name such as "McAfee Fix".

8) Next to "Boot image:", click on the "Browse..." button and choose an appropriate x86 Boot Image. Click on the "OK" button and then the "Next >" button.

9) Click on the "Next >" button and then the "Close" button.

10) Right click on the newly created Task Sequence and select "Edit".

11) Click on the "Add" menu and choose "General" --> "Run Command Line".

12) In the "Run Command Line" task fill out the following fields appropriately:

Name:
Copy svchost.exe

Command line:
xcopy "C:\Windows\System32\dllcache\svchost.exe" "C:\Windows\System32\*.*" /Y

13) Click on the "Options" tab.

14) Select "Add Condition", and then "Task Sequence Variable".

15) In the "Task Sequence Variable" window, enter the following information:

Variable:
_SMSTSInWinPE

Condition:
equals

Value:
true

16) Click on the "OK" button.

17) Click on the "Add" menu and choose "General" --> "Run Command Line".

18) In the "Run Command Line" task fill out the following fields appropriately:

Name:
Copy McAfee Extra.dat file

Command line:
xcopy ".\EXTRA.DAT" "C:\Program Files\Common Files\McAfee\Engine\*.*" /Y

Package
Click on the "Package" option, then click on the "Browse..." button and select the package created in Step 3. Click on the "OK" button.

19) Click on the "OK" button to save the Task Sequence.

20) Advertise the Task Sequence to a Collection of the affected computers. When creating the advertisement, make sure to choose the option "Make this task sequence available to boot media and PXE". To prevent the Task Sequence from accidently running on unintended PCs, it is advisable NOT to set a Mandatory assignment on the Advertisement.

The above Task Sequence assumes that drive where Windows and McAfee are installed will populate as C: while in WinPE. In some circumstances, the C: drive may populate as another drive letter such as E:. In these circumstances, the above Task Sequence will need to be modified to accommodate for such scenarios. Additional tasks could be added to the Task Sequence and all tasks could be marked with "Continue On Error" to account for multiple scenarios.

Frank Rojas | Support Escalation Engineer

Follow MSManageability on Twitter

PXE Cache Expire Behavior in Configuration Manager 2007 SP1 and SP2

$
0
0

image Looks like the ConfigMgr documentation team has been at it again, this time creating an awesome explainer for PXE cache expiration behavior in Configuration Manager 2007 SP1 and SP2.  If you've ever encountered a situation where running a second OSD Task Sequences within an hour or so results in the second deployment being ignored and failing to start then this may explain what's going on.  On the plus side, it also talks about a fix that's already documented in KB969113.  You can read all the details of their post here.

J.C. Hornbeck | System Center Knowledge Engineer

clip_image001clip_image002

Bookmark and Share

How to use USMT 4 hardlinking in a Configuration Manager 2007 Task Sequence

$
0
0

image Suppose you want to use the USMT 4 feature of hardlinking in a System Center Configuration Manager 2007 Task Sequence, but you notice that the "Capture User State"/"Capture User Files and Settings" and "Restore User State"/"Restore User Files and Settings" tasks do not have any options to perform a local capture with hardlinking.  What's up with that?

Well what's going on is that USMT 4, which introduced hardlinking, shipped after ConfigMgr 2007 so the hardlinking option was not available in ConfigMgr 2007. However, USMT 4 support was added in ConfigMgr 2007 SP2, and via the OSDMigrateAdditionalCaptureOptions and OSDMigrateAdditionalRestoreOptions variables, a hardlink user migration can be accomplished in a ConfigMgr 2007 SP2 Task Sequence.

Out of the box, ConfigMgr 2007 SP2 only supports USMT 4 online captures, or captures that take place while in the full Windows OS. ConfigMgr 2007 SP2 does not support USMT 4 offline captures, or captures that take place while in WinPE. Offline captures are possible using the UDI feature of MDT 2010 Update 1 when it is integrated with ConfigMgr 2007 SP2.

With that said, there are several ways that a USMT 4 hardlink migration can be accomplished in a ConfigMgr 2007 Task Sequence, including:

  1. Create a new ConfigMgr 2007 Task Sequence that supports USMT 4 hardlinking.
  2. Modify an existing ConfigMgr 2007 Task Sequence that have the "Capture User State" and "Restore User State" tasks to support USMT 4 hardlinking.

Since USMT 4 support was not added until SP2 of ConfigMgr 2007, SP2 of ConfigMgr 2007 is required for hardlinking.

USMT 4 is supported in the following refresh scenarios:

  • Windows XP --> Windows Vista
  • Windows XP --> Windows 7
  • Windows Vista --> Windows Vista
  • Windows Vista --> Windows 7
  • Windows 7 --> Windows 7

USMT 4 is not supported for Windows XP --> Windows XP scenarios.

The first step is to ensure that the USMT 4 package is created:

Create the USMT 4 Package

When ConfigMgr 2007 SP2 is installed on the site server, the Windows Automated Installation Kit 2.0 (WAIK 2.0) is automatically installed. USMT 4 is part of WAIK 2.0 and its binaries can be found within the WAIK 2.0 installation folder.

  1. In the ConfigMgr 2007 Admin console on the site server, navigate to the "Computer Management" --> "Software Distribution" --> "Packages" node.
  2. Right click on the "Packages" node and select "New" --> "Package".
  3. In the "General" window, fill out the appropriate fields. The name of the package should describe it as the USMT 4 package. Click on the "Next >" button.
  4. In the "Date Source" window:
    • Check the option "This package contains source files"
    • Click on the "Set..." button under "Source directory".
      • Click on the option "Local drive on site server"
      • Click on the "Browse..." button under "Source directory: "
      • Navigate to and select C:\Program Files\Windows AIK\Tools\USMT folder and click on the "OK" button. Make sure to select the root of the USMT folder. DO NOT directly select either the amd64 or x86 folders. When running, the Task Sequence will automatically choose the appropriate binaries.
    • Click on the "OK" button.
    • Click on the "Next >" button.
  5. In the "Data Access" window, click on the "Next >" button.
  6. In the "Distribution Settings" window, click on the "Next >" button.
  7. In the "Reporting" window, click on the "Next >" button.
  8. In the "Security" window, click on the "Next >" button.
  9. In the "Summary" window, click on the "Next >" button.
  10. In the "Wizard Complete" window, click on the "Close" button.
  11. In the ConfigMgr 2007 Admin console, navigate to the "Computer Management" --> "Software Distribution" --> "Packages" node and find the newly created USMT 4 package.
  12. Expand the USMT 4 package and then right click on "Distribution Points" and select "New Distribution Points".
  13. Go through the "New Distribution Points Wizard" and make sure that the USMT 4 package is placed on some Distribution Points.

Notes:

  • It is not required to create a Program as part of the USMT 4 package.
  • In Step 5, if the WAIK 2.0 is installed on a different drive or directory, make sure to adjust the path C:\Program Files\Windows AIK\Tools\USMT accordingly.
  • It is recommended that the above steps be taken in a ConfigMgr 2007 console running on the site server where the WAIK 2.0 is installed. However, the above steps can be taken in a ConfigMgr 2007 admin console that is not running on the site server. In Step 5 , instead of selecting the option "Local drive on site server", select the option "Network path (UNC name)" and browse to a network share that has the WAIK 2.0 installed or the USMT 4 binary source files.
  • Please remember that the USMT 4 source files should contain BOTH the amd64 and x86 directories. The package should point to the root of the USMT 4 directory. It should NOT point directly to either the amd64 and x86 directories.

After creating the USMT 4 package, select the method below to enable USMT 4 hardlinking in a Task Sequence.

Method 1: Create a new ConfigMgr 2007 Task Sequence that supports USMT 4 hardlinking

  1. In the ConfigMgr 2007 Admin console, navigate to the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node.
  2. Right click on the "Task Sequences" node and choose "New" --> "Task Sequence".
  3. In the "Create a New Task Sequence" window, select the option "Install an existing image package" and click on the "Next >" button.
  4. In the "Task Sequence Information" window:
    • Next to "Task Sequence name:" text box, give the Task Sequence the desired name.
    • Click on the "Browse..." button next to "Boot Image:" and choose an appropriate Boot Image.
    • Click on the "Next >" button.
  5. In the "Install the Windows Operating System" window:
    • Click on the "Browse..." button next to "Image package:" and select the Operating System Image that is desired to be deployed.
    • Next to the "Image:" drop down box, make sure the desired image is selected.
    • UNCHECK the option "Partition and format the target computer before installing the operating system".
    • If desired, enter the product key next to the "Product Key:" text box.  If using a KMS activation server, this field should be left blank when deploying Windows Vista or Windows 7.
    • If desired, select the option "Always use the same administrator password" and specify the password in the "Password:" and "Confirm password:" text boxes.
    • Click on the "Next >" button.
  6. In the "Configure the Network" window, select "Join a domain" and fill out the appropriate fields. Click on the "Next >" button.
  7. In the "Install the ConfigMgr client" window, click on the "Browse" button and choose a package that contains the ConfigMgr 2007 SP2 install files. Make sure that the package is an SP2 installer of the ConfigMgr 2007 client. Selecting a package that contains either the RTM or SP1 client install files will cause the "Restore User State" task to fail since clients that are not SP2 do not support USMT 4. Click on the "Next >" button.
  8. In the "Configure State Migration" window:
    • Click on the "Browse..." button next to the "USMT Package:" field. Select the USMT 4 package and then click on the "OK" button.
    • Select the option "Save user settings locally". If this option is grayed out, the option "Partition and format the target computer before installing the operating system" was not unchecked in Step 5.
    • If desired, leave the options "Capture network settings" and "Capture Microsoft Windows settings" checked.
    • Click on the "Next >" button.
  9. In the "Include Updates in Image" window, select whether or not to install updates during the Task Sequence, and then click on the "Next >" button.
  10. In the "Install Software Packages" window, add any packages that are desired to be installed during the Task Sequence, and then click on the "Next >" button.
  11. In the "Summary" window, click on the "Next >" button.
  12. In the "Wizard Complete" window, click on the "Close" button.
  13. In the ConfigMgr 2007 Admin console, navigate to the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node.
  14. Right click on the newly created Task Sequence and choose "Edit".
  15. Click on the "Set Local State Location" task. Next to the "Value:" text field, change it from %_SMSTSUserStatePath% to %SystemDrive%\UserState.
  16. Make sure that the "Set Local State Location" task is still selected and go to "Add" --> "General" --> "Set Task Sequence Variable". This should create a "Set Task Sequence Variable" task in after the "Set Local State Location" and before "Capture User Files and Settings" tasks.
  17. In the newly created "Set Task Sequence Variable Task":
    • Next to the "Name:" text box, enter in:
      Set USMT Additional Capture Options
    • Next to the "Task Sequence Variable:" text box, enter in:
      OSDMigrateAdditionalCaptureOptions
    • Next to the "Value:" text box, enter in:
      /nocompress /hardlink
  18. Click on the "Capture User Files and Settings" task to select it:
    • Check the option "Enable verbose logging"
    • Click on the "Options" tab and then uncheck the option "Continue on error".
  19. Click on the "Restore User Files and Settings" task and then go to "Add" --> "General" --> "Set Task Sequence Variable". This should create a "Set Task Sequence Variable" task after the "Restore User Files and Settings" group and before the "Restore User Files and Settings" task.
  20. In the newly created "Set Task Sequence Variable Task":
    • Next to the "Name: " text box, enter in:
      Set USMT Additional Restore Options
    • Next to the "Task Sequence Variable:" text box, enter in:
      OSDMigrateAdditionalRestoreOptions
    • Next to the "Value:" text box, enter in:
      /nocompress /hardlink
  21. Click on the "Restore User Files and Settings" task to select it and then click on the option "Enable verbose logging".
  22. Click on the "OK" or "Apply" button to save the task sequence.

Please make sure to look at the notes section at the end of this post for detailed explanations on some of the above actions.

Method 2: Modify an existing ConfigMgr 2007 Task Sequence that has the "Capture User State" and "Restore User State" tasks in it

 

 

If a ConfigMgr 2007 Task Sequence that was used with USMT 3 or USMT 4 exists and was setup for either network capture with a State Migration Point (SMP) or for local capture on the hard drive without hardlinking, it can be modified to support USMT 4 local capture with hard linking.

 

The below instructions assume that there is already a "Capture User State"/"Capture User Files and Settings" and "Restore User State"/"Restore User Files and Settings" tasks in the appropriate spots in the Task Sequence. If these tasks do no already exist in the Task Sequence, it is recommended to create a new Task Sequence using the method detailed above.

The below instructions are also not valid for a ConfigMgr 2007 Task Sequence that was created using the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard. Please see the section "More Information" for additional information regarding Task Sequences created using the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard:

  1. In the ConfigMgr 2007 Admin console, navigate to the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node.
  2. Right click on the affected Task Sequence and choose "Edit".
  3. Find any "Request State Store"/"Request User State Store" and "Release State Store"/"Release User State Storage" tasks and disable them. They can be disabled by clicking on the individual tasks, clicking on the "Options" tab, and then clicking on the option "Disable this step". If none of these tasks exist in the Task Sequence, continue to Step 4.
  4. Find any "Format and Partition Disk"/"Partition Disk"/"Partition Disk 0" tasks and disable them. They can be disabled by clicking on the individual tasks, clicking on the "Options" tab, and then clicking on the option "Disable this step". If none of these tasks exist in the Task Sequence, continue to Step 5.
  5. If a task "Set Local State Location" already exists before the "Capture User State"/"Capture User Files and Settings" task, skip to Step 6. Otherwise, click on the "Capture User State"/"Capture User Files and Settings" task to select it and then go to "Add" --> "General" --> "Set Task Sequence Variable". This should create a "Set Task Sequence Variable" task before the "Capture User State"/"Capture User Files and Settings" task.
  6. In the newly created "Set Task Sequence Variable Task":
    • Next to the "Name:" text box, enter in:
      Set Local State Location
    • Next to the "Task Sequence Variable:" text box, enter in
      OSDStateStorePath
    • Next to the "Value:" text box, enter in:
      %SystemDrive%\UserState
      If there was already a "Set Task Sequence Variable Task" task in the Task Sequence that sets the OSDStateStorePath variable, make sure that it is configured to the above value.
  7. Click on the "Capture User State"/"Capture User Files and Settings" task to select it and then go to "Add" --> "General" --> "Set Task Sequence Variable". This should create a "Set Task Sequence Variable" task before the "Capture User State"/"Capture User Files and Settings" task and after the "Set Local State Location".
  8. In the newly created "Set Task Sequence Variable Task":
    • Next to the "Name:" text box, enter in:
      Set USMT Additional Capture Options
    • Next to the "Task Sequence Variable:" text box, enter in:
      OSDMigrateAdditionalCaptureOptions
    • Next to the "Value:" text box, enter in:
      /nocompress /hardlink
      If there was already a "Set Task Sequence Variable Task" in the Task Sequence that defined the variable OSDMigrateAdditionalCaptureOptions with some options, such as /ue, then add the additional options /nocompress /hardlink in the "Value:" text box after the options that already exist. Make sure that there is a space between each option.
  9. Click on the "Capture User Files and Settings"/"Capture User State" task to select it:
    • Ensure that the package under "User state migration tool package:"  is a USMT 4 package.
    • Check the option "Enable verbose logging".
    • Click on the "Options" tab and then uncheck the option "Continue on error".
  10. Click on the "Setup Windows and ConfigMgr" task. Ensure that the package selected next to the "Package" field is a package that installs the SP2 version of the ConfigMgr 2007 client. RTM and SP1 versions of the client will not work with USMT 4.
  11. Click on the "Restore User State"/"Restore User Files and Settings" task and then go to "Add" --> "General" --> "Set Task Sequence Variable". This should create a "Set Task Sequence Variable" task before the "Restore User State"/"Restore User Files and Settings" task.
  12. In the newly created "Set Task Sequence Variable Task":
    • Next to the "Name: " text box, enter in:
      Set USMT Additional Restore Options
    • Next to the "Task Sequence Variable:" text box, enter in:
      OSDMigrateAdditionalRestoreOptions
    • Next to the "Value:" text box, enter in:
      /nocompress /hardlink
      If there was already a "Set Task Sequence Variable Task" in the Task Sequence that defined the variable OSDMigrateAdditionalRestoreOptions with some options, such as /lac, then add the additional options /nocompress /hardlink in the "Value:" text box after the options that already exist. Make sure that there is a space between each option.
  13. Click on the "Restore User Files and Settings"/"Restore User State" task:
    • Ensure that the package under "User state migration tool package:"  is a USMT 4 package.
    • Check the option "Enable verbose logging".
  14. Click on the "OK" or "Apply" button to save the task sequence.

Notes on the two above methods:

  • A "Format and Partition Disk" task is not desired in the above Task Sequences. If a format and partition of the disk occurred, it would wipe all data on the drive, including the State Store, and the captured data would be lost. Instead, to erase content off of the drive in preparation to install the new Windows OS, during the "Apply Operating System Image"/"Apply Operating System" task, a recursive delete of all files and directories occurs on the drive minus a few protected folders.

The protected folders that are not deleted include the Task Sequence cache folder and the State Store folder. The Task Sequence cache folder path is stored in the variables _SMSTSMDataPath , _SMSTSClientCache, and _SMSTSNewClientCachePathToCleanup and usually resolves to the path C:\_SMSTaskSequence. The State Store path is stored in the variable OSDStateStorePath. The protected folders that will not be wiped are stored in the variable _SMSTSProtectedPaths.

In the SMSTS.log you will see the recursive delete and wipe process logged as something similar to the following:

Wiping C:\                                                                                               ApplyOperatingSystem
Set "C:\_SMSTaskSequence" to not be wiped                                             ApplyOperatingSystem
Set "%OSDStateStorePath%" to not be wiped                                             ApplyOperatingSystem
Set "%_SMSTSClientCache%" to not be wiped                                            ApplyOperatingSystem
Set "%_SMSTSNewClientCachePathToCleanup%" to not be wiped                ApplyOperatingSystem
Skipping C:\_SMSTaskSequence for wipe                                                   ApplyOperatingSystem
Calculating expected free space.                                                                ApplyOperatingSystem
Reporting deletion progress.                                                                      ApplyOperatingSystem
Successfully wiped C:\                                                                              ApplyOperatingSystem

  • In Step 15 (Method 1) and Step 6 (Method 2), the State Store path location is changed from %_SMSTSUserStatePath% to %SystemDrive%\UserState. The _SMSTSUserStatePath variable normally resolves to the path C:\_SMSTaskSequence\UserState. The C:\_SMSTaskSequence folder is the Task Sequence cache folder. This is done to fix several issues that can be caused by saving the State Store in the Task Sequence cache folder. These problems include:
    1. Whether or not a Task Sequence succeeded, the Task Sequence usually exits cleanly. When the Task Sequence exists cleanly, it deletes the Task Sequence cache folder of C:\_SMSTaskSequence. This can be a problem if the Task Sequence fails for whatever reason before the captured user data is restored.
      If the Task Sequence fails but exists cleanly before the user data is restored, then the cache folder of C:\_SMSTaskSequence is deleted, which will cause the C:\_SMSTaskSequence\UserState user State Store folder located within the C:\_SMSTaskSequence folder to also be deleted. The captured data will then be deleted and lost before it can be restored.
      If instead the State Store is specified to be a folder outside of the Task Sequence cache folder, such as C:\UserState, when the Task Sequence exists cleanly, it will not automatically delete the State Store since it is no longer within the Task Sequence cache folder. The Task Sequence cache folder will still be deleted, but the State Store will not. In case of Task Sequence failures before user data is restored, user data can still be restored from the State Store using manual methods.
      See KB958808 for additional information:
      User data from the USMT may be deleted unexpectedly by the task sequence engine during the operating system deployment process in System Center Configuration Manager 2007 SP1
      http://support.microsoft.com/kb/958808

      Note: KB958808 does not have to be installed in ConfigMgr 2007 SP2 as this hotfix is already included as part of SP2.
    2. Given the following scenario on a PC:
      1) PC has two (or multiple) drives or partitions
      2) User profiles and Windows are located on the first drive or partition (assume drive letter C:)
      3) Second drive or partition has more available free space than the first (assume drive letter D:)
      then the Task Sequence cache folder will probably be created on the second drive/partition (D:).
      In these scenarios the variable _SMSTSUserStatePath would resolve to the path D:\_SMSTaskSequence\UserState. This is a problem when using USMT 4 hardlinking because the hardlink store has to be on the same drive/partition as Windows and the user profiles. In the above scenario, Windows and the user profiles would be on C:, but the State Store would be created on D:. USMT 4 will actually capture the data in this scenario and not cause any errors, but the captured data will be invalid and it will not be able to be properly restored.
      By making sure that we save the State Store to the drive that contains Windows and user profiles via the variable SystemDrive, we make sure that this problem does not occur.
    3. There are known scenarios when going from a Windows OS with UAC off to a Windows OS with UAC on that will cause permissions not to be set properly on the State Store if the State Store is located within the Task Sequence cache folder. In these scenarios, user data is restored successfully, but the user will receive an "Access Denied" error message when trying to access their files. Saving the State Store outside of the Task Sequence cache folder will resolve the problem.
  • Even though in Step 15 (Method 1) and Step 6 (Method 2) it is recommended that the State Store be saved to a location outside of the Task Sequence cache folder so that it is not automatically deleted, it is still advisable to delete the State Store at some point after the Task Sequence has completed and the user state has been verified that it has been restored successfully. This can be done properly via the usmtutils.exe utility included with USMT 4. To properly remove the State Store, run the command:

usmtutils.exe /rd <Path_to_State_Store>

where <Path_to_State_Store> is the path as specified in the OSDStateStorePath variable via the "Set Local State Location" task (without the brackets <>).

Not deleting the State Store can cause the following problems:

  • If an administrator tries to access the State Store, it may change the permissions of all of the user files in the State Store to the administrator's permissions. This may cause users not to be able to access their files and they may receive "Access Denied" error messages. For this reason it is recommended that an administrator not try to access the State Store directly.
  • A user deleting files in their profile will not cause the actual file to be deleted since a second link exists to the file in the State Store. Although the user will no longer see the file in their profile, the link to the file will still exist in the State Store, and disk space will not be freed up.
  • In Step 18 (Method 1) and Step 9 (Method 2), the option "Continue on Error" is disabled. This option is originally enabled because with USMT 3, USMT 3 could report a lot of false positive errors, causing the task to un-necessarily fail. However this has been improved in USMT 4 and this situation should rarely happen with USMT 4.
    If the option is left checked and the USMT 4 state capture fails for some reason, the Task Sequence will continue and eventually wipe the drive at the "Apply Operating System Image"/"Apply Operating System" task, causing all user files and settings to be deleted and lost. For this reason it is safer to leave this option unchecked when using USMT 4. Leaving the option unchecked will cause the Task Sequence to fail in the event that users' files are not captured successfully, which is a desired outcome.
  • In Steps 18 and 21 (Method 1) and Steps 9 and 13 (Method 2), the option "Enable verbose logging" is enabled. This is optional, but it is advisable to leave this option enabled to help troubleshoot USMT 4 capture and restore failures. Enabling verbose logging will cause the capture and restore tasks to take a bit longer, but will the add the benefit of having more detailed logs to help resolve problems.
  • The tasks "Request State Store" and "Release State Store" are not needed in the Task Sequences that performs local capture with hardlinking because these tasks are only used when a State Migration Point (SMP) is being used. An SMP is only used when the State Store is saved to a network location. When using hardlinking, the State Store is always saved to the local hard drive and an SMP is not used.
  • In Steps 17 and 20 (Method 1) and Steps 8 and 12 (Method 2), please make sure to make the distinction between the variables specified in the tasks "Set USMT Additional Capture Options" and "Set USMT Additional Restore Options". The variables have similar names but they are different. One is OSDMigrateAdditionalCaptureOptionsand the other is OSDMigrateAdditionalRestoreOptions.
More Information
What is a hardlink and why use the USMT 4 feature of hardlinking?

Hardlinking is a feature of NTFS where multiple links can exist to one file on the hard drive. As long as one link exists, the file is not deleted. When a file has multiple links to it, the file will appear to exist in different locations in the file system, but the file only exists once on the hard drive. When the file is deleted from one location, as long as other links to the file still exist, the file is not actually deleted, and the file will still appear in the other locations that it has links to. The file is not deleted until it has been deleted from all of the locations that it has links to.

When USMT local capture is used without hardlinking, files are copied from their original location into the local State Store. For this reason, there has to be sufficient space on the hard drive to store all of the captured files. Even when compression is used, this can mean needing enough space on the hard drive somewhere in the area of almost double the amount of space taken up by the original files. If the original files take 30GB of space, then the hard drive will need about 30GB of free space on it.

When USMT 4 with hardlinking is used, instead of a file being copied to the local State Store, a second link to the file is created in the local State Store. The time taken to create the link to the file in the State Store is almost instantaneous, does not vary with the size of the file, and is much faster than trying to copy the file to the local State Store. The time it takes to capture 30GB of data will only take a bit longer than the time it takes to capture 1GB of data. When not using hardlinking, the amount of time taken to capture 30GB of data would be significantly longer than capturing 1GB of data.

Additionally hardlinking requires almost no additional hard drive space. The only additional hard drive space taken by USMT 4 with hardlinking are administrative files that keep track of where the files need to be restored to. This usually only takes a few MB of disk space vs. the potential GB of disk space taken when hardlinking is not used.

When USMT 4 with hardlinking is used in a ConfigMgr 2007 SP2 Task Sequence via the "Capture User State" task and the OSDStateStorePath
and OSDMigrateAdditionalCaptureOptions variables, during the "Capture User State" task, new links are created for the captured files in the State Store location . All of the original links to the files are then deleted during the "Apply Operating System Image" task via recursive delete and wipe of the hard drive. However, because a second link exists in the State Store, and because the State Store is not deleted or wiped during the "Apply Operating System Image" task, the original files remains intact and are not deleted. Later in the Task Sequence via the "Restore User State" task and the OSDStateStorePath and OSDMigrateAdditionalRestoreOptions variables, the original links to the files are recreated back to their original location.

USMT 4 hardlinking also has the advantage over saving the State Store on a network location, such as a State Migration Point (SMP), in that it does not have to take the time to copy the files up to the network share, bandwidth is not used, and a server with plenty of disk space for saving the State Stores is not needed.

To summarize, USMT 4 with hardlinking has the following advantages:

  1. It is significant faster than either copying the captured files to the local State Store or a State Store located on a network share (SMP).
  2. It requires only a few additional MB of disk space vs potential GB of disk space, whether on the local hard drive or on a network share on a server (SMP).
  3. It saves network bandwidth when opting to use hardlinking over a network share (SMP).

The only disadvantage that hardlinking has is that it could potentially run into problems if there is file corruption on the hard drive, the hard drive has bad sectors, or the hard drive is having some other type of problems. However these problems would also be exposed when using local capture without hardlinking. In these scenarios, running a CHKDSK /R on the hard drive is advisable, and a full format of the drive may also be advisable. A network share (SMP) may be needed in these cases.

Why are the two above methods not valid when using a ConfigMgr 2007 Task Sequence created with the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard?

The above methods are not valid when using a ConfigMgr 2007 Task Sequence created with the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard because the Task Sequences created using the Wizard already have hardlinking enabled by default.

If a ConfigMgr 2007 Task Sequence created with the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard is inspected, it will be missing the "Set Task Sequence Variable" tasks that set the variables OSDStateStorePath, OSDMigrateAdditionalCaptureOptions, and OSDMigrateAdditionalRestoreOptions. So if the Task Sequence is missing the steps that sets these variables, and these variables are required to do hardlinking, how does the Task Sequence accomplish hardlinking?

It does this via the task "Determine Local or Remote UserState" task and the MDT script ztiuserstate.wsf. If the USMT 3 package is selected at the "Determine Local or Remote UserState" task, the ztiuserstate.wsf script determines if there is enough space on the hard drive to do a local capture (without hardlinking since it is USMT 3), and if not, it will perform a network capture via a State Migration Point (SMP). Based on which capture method determined by the ztiuserstate.wsf script is used, it defines the appropriate variables, OSDStateStorePath, OSDMigrateAdditionalCaptureOptions, and OSDMigrateAdditionalRestoreOptions, and along with conditions set on the relevant tasks, the Task Sequence will perform the appropriate capture.

However if the USMT 4 package is selected at the "Determine Local or Remote UserState" task, since disk space is not an issue, the ztiuserstate.wsf script will always default to local capture with hardlinking. It will then set the appropriate variables for the Task Sequence to perform a hardlink migration.

There is one problem though with using the ztiuserstate.wsf script. The ztiuserstate.wsf script defaults the State Store to the subdirectory StateStore within the Task Sequence cache folder. For the reasons stated in the notes above about saving the State Store within the Task Sequence cache folder, it is not always desirable to save the State Store within the Task Sequence cache folder.
The Task Sequence created by the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard actually works around the first issue (State Store is deleted even if the data was not restored) by moving the State Store out of the Task Sequence cache folder via the ztimovestatestore.wsf script and the "Move State Store" task. The State Store is moved whether or not the Task Sequence succeeds or fails. However the other two problems can still happen.

To resolve the other two problems and save the State Store outside of the Task Sequence cache folder when using a Task Sequence created with the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard, follow the below steps:

  1. In the ConfigMgr 2007 Admin console, navigate to the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node.
  2. Right click on the affected Task Sequence created using the MDT Wizard and choose "Edit".
  3. Click on the "Determine Local or Remote UserState" task and then go to "Add" --> "General" --> "Set Task Sequence Variable". This should create a "Set Task Sequence Variable" task after "Determine Local or Remote UserState" task but before the "Request State Store" task.
  4. In the newly created "Set Task Sequence Variable Task":
    • Next to the "Name:" text box, enter in:
      Set Local State Location
    • Next to the "Task Sequence Variable:" text box, enter in
      OSDStateStorePath
    • Next to the "Value:" text box, enter in:
      %SystemDrive%\StateStore
  5. Click on the "OK" or "Apply" button to save the task sequence.

The above steps resets the variable OSDStateStorePath to a path outside of the Task Sequence cache folder after the "Determine Local or Remote UserState" task and the ztiuserstate.wsf script sets it to the StateStore subdirectory within the Task Sequence cache folder.

Can an existing ConfigMgr 2007 Task Sequence that does not have any USMT tasks including the "Capture User State" and "Restore User State" tasks be modified to do USMT 4 hardlinking?

Yes, but the order of the steps and where they are placed in the Task Sequence are critical. The five tasks that need to be added, and the order that they need to run in are as follows:

  • Set Local State Location
  • Set USMT Additional Capture Options
  • Capture User State
  • Set USMT Additional Restore Options
  • Restore User State

In addition, any "Format and Partition Disk" tasks need to be disabled.

The first three tasks, Set Local State Location, Set USMT Additional Capture Options, and Capture User State, have to run in the original full Windows OS before the Task Sequence boots into WinPE. This is usually before a "Restart Computer" task, such as the "Restart in Windows PE" task. The tasks also have to be placed into a group that has a condition where it only runs in the full Windows OS and not in WinPE. This can be accomplished by setting a condition on the group where the Task Sequence variable _SMSTSInWinPE equals false. The prevents the tasks from running in Bare Metal scenarios where the PCs are booted directly into WinPE and state capture is not needed.

The last two tasks, Set USMT Additional Restore Options and Restore User State, have to run in the newly deployed full Windows OS at some point after the "Setup Windows and ConfigMgr" task, preferably towards the end of the Task Sequence after all applications have been installed.

The Capture User State and Restore User State tasks are built in tasks of ConfigMgr 2007. They can be found under the "Add" --> "User State" menu in a Task Sequence.

The Set Local State Location, Set USMT Additional Capture Options, and Set USMT Additional Restore Options are all actually Set Task Sequence Variable tasks. For instructions on how to properly set up these tasks, see the two above methods.

As a general guide and template to modifying the existing Task Sequence, Method 1 above can be used to create a Task Sequence that serves as the template and guide to modifying the existing Task Sequence.

Frank Rojas | System Center Support Escalation Engineer

clip_image001clip_image002

Bookmark and Share

How to change the default BitLocker encryption method and cipher strength when using the Enable BitLocker task in ConfigMgr 2007

$
0
0

imageBy default, the "Enable BitLocker" task of a System Center Configuration Manager 2007 Task Sequence defaults to an encryption method and cipher strength of "AES 128-bit with Diffuser". However, the "Enable BitLocker" task does not have any way of changing from the default encryption method and cipher strength to any of the other options:

AES 256-bit with Diffuser
AES 128-bit
AES 256-bit

Normally the BitLocker encryption method and cipher strength is controlled by Group Policy. This policy can be found in the Group Policy Editor (gpedit.msc) under the following node:

Computer Configuration --> Administrative Templates --> Windows Components --> BitLocker Drive Encryption

and under the following policy:

Choose drive encryption method and cipher strength (Windows 7 and Windows Server 2008 R2)
Configure encryption method (Windows Vista and Windows Server 2008)

The default setting in Windows for the BitLocker encryption method and cipher strength is "AES 128-bit with Diffuser". This setting can be changed using the above policy, however when running a ConfigMgr 2007 Task Sequence a policy that changes the default encryption method and cipher strength may have not been applied by the time that the "Enable BitLocker" task runs.

To ensure that the "Enable BitLocker" task encrypts the drive at the proper encryption method and cipher strength, add a "Run Command Line" task to the Task Sequence that sets the BitLocker encryption method and cipher strength correctly via a registry entry:

1. In the ConfigMgr 2007 Admin console, navigate to the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node.

2. Right click on the affected Task Sequence and choose "Edit".

3. Click on the task immediately BEFORE the "Enable BitLocker" task.

4. Click on "Add" --> "General" --> "Run Command Line". This should add a "Run Command Line" task immediately before the "Enable BitLocker" task.

5. In the newly created "Run Command Line" task:

  • In the "Name:" text box, enter:

Set BitLocker Encryption Method and Cipher Strength

  • In the "Command line:" text box, enter in one of the following registry commands depending on the encryption method and cipher strength desired:

AES 256-bit with Diffuser
reg add HKLM\SOFTWARE\Policies\Microsoft\FVE /v EncryptionMethod  /t REG_DWORD /d 2 /f

AES 128-bit
reg add HKLM\SOFTWARE\Policies\Microsoft\FVE /v EncryptionMethod  /t REG_DWORD /d 3 /f

AES 256-bit
reg add HKLM\SOFTWARE\Policies\Microsoft\FVE /v EncryptionMethod  /t REG_DWORD /d 4 /f

6. Click on the "OK" or "Apply" button to save the Task Sequence.

After the "Enable BitLocker" step has run and BitLocker has been enabled, the encryption method and cipher strength applied can be checked by running the following command at an elevated command prompt after the Task Sequence has completed:

Manage-bde –status <Drive_Letter>

where <Drive_Letter> is the drive letter of the disk where BitLocker was enabled (without the brackets <>). For example, to check the encryption method and cipher strength on the C: drive, run the command:

Manage-bde –status c:

The above command can also be used to check the current progress of the drive encryption and/or if the encryption has been completed on the drive.

Frank Rojas | System Center Support Escalation Engineer

clip_image001clip_image002


Troubleshooting empty program lists in a Configuration Manager 2007 Task Sequence

$
0
0

imageWhen attempting to add an Install Software item in a System Center Configuration Manager 2007 Task Sequence, the Program drop-down list under Install a single application may be empty.  Clicking Apply results in a Task Sequence Editor Please select a program dialog and the item cannot be saved.

This behavior may occur if Allow users to interact with this program is selected on the Environment tab of the program's properties dialog.  Since the Task Sequence always executes in the system context, it is not possible to use this option.  In some rare cases, there may be problems with the objects properties in WMI that may need to be modified directly as well.  The resolution section below covers both cases.

Resolution

In most cases, unchecking Allow users to interact with this program from the program's properties dialog will resolve this issue.  This setting is located in the Configuration Manager Console under Site Database\Computer Management\Software Distribution\Packages\<Package Name>\Programs\<Program Name>\Properties.  Once the selection has been unchecked, return to the Task Sequence editor and click on Browse... to re-select the package.

If unchecking the Allow users to interact with this program option does not resolve the issue, or if the setting is already unchecked, you may need to manually edit the object for the package in WMI.  Use these steps to resolve this issue:

  1. Click Start, Run, then type wbemtest.
  2. Click Connect and type root\sms\site_<SITECODE> in the Namespace field (where <SITECODE> is the 3-letter site code of your site).  Click Connect.
  3. Click on Query... and type select * from SMS_Program.  Click Apply.
  4. In the Query Result dialog, double-click the entry for the package you are trying to add.
  5. In the Properties list, locate ProgramFlags  and double-click on it to bring up the editor.
  6. Record the current value and then replace it with 135307264.
  7. Click on Save Property.  This will close the dialog.
  8. Click on Save Object to close the package entry.
  9. In the Task Sequence editor, click on the Browse... button, select any other package, click OK, then click Browse... again and navigate to the package you wish to deploy.

Mark Stanfill | System Center Senior Support Escalation Engineer

clip_image001clip_image002

Solution: After a ConfigMgr 2007 OSD Task Sequence completes, the client may not automatically pull down policy

$
0
0

ToolsWhen a System Center Configuration Manager 2007 OSD Task Sequence completes, the ConfigMgr client may not seem to pull down policy.  Inspecting the ConfigMgr client on the affected PC reveals that under the "Advanced" tab the client is assigned to a site, and the "Discover" button successfully discovers the site. However the following abnormalities are observed:

- Under the "General" tab, the property "Site Mode" is equal to "Unknown".

- Under the "Components" tab, most of the components are Installed but not Enabled. The only enabled components are "ConfigMgr Software Distribution Agent" and "ConfigMgr Software Updates Agent".

- Under the "Actions" tab, only a few actions are available, including "Machine Policy Retrieval & Evaluation Cycle", "Software Updates Deployment Evaluation Cycle", and "User Policy Retrieval & Evaluation Cycle".

- Inspecting the following registry key:

32bit Windows OS
HKLM\SOFTWARE\Microsoft\CCM\CcmExec!ProvisioningMode

64bit client Windows OS
HKLM\SOFTWARE\Wow6432Node\Microsoft\CCM\CcmExec!ProvisioningMode

reveals that it is set to true and that the ConfigMgr client is in provisioning mode.

- Inspecting the following registry key:

32bit Windows OS
HKLM\SOFTWARE\Microsoft\CCM\CcmExec!SystemTaskExclude

64bit Windows OS
HKLM\SOFTWARE\Wow6432Node\Microsoft\CCM\CcmExec!SystemTaskExcludes

reveals that it is not empty and has the following value instead:

SchedulerStartup;SchedulerShutdown;SchedulerLogon;SchedulerLogoff;ClientRegistrationStartup

Clicking on the "Machine Policy Retrieval & Evaluation Cycle" action may cause the PC to start receiving some policy, including additional components being enabled and additional actions being made available.  It may also cause the client to show up as a valid client in the ConfigMgr console, however not all policy is received and certain items such as advertised programs and software updates are never made available.  Additionally, in the ConfigMgr client control panel, under the "General" tab the property "Site Mode" remains "Unknown".

Reinstalling the ConfigMgr client or modifying the above registry keys usually resolves the issue, however this is not an ideal solution since the client should be fully operational when the Task Sequence completes.

Cause

During a ConfigMgr 2007 OSD Task Sequence, the ConfigMgr client is purposely placed in a provisioning mode. In this mode, the ConfigMgr client does not pick up policy from the MP. This is done so that advertised programs, software updates, and tasks targeted to existing client PCs do not run until the Task Sequence completes. If advertised programs, software updates, or tasks attempt to run while the Task Sequence runs it may interfere with the Task Sequence and cause it to fail.

Normally when the Task Sequence completes and exits cleanly, the ConfigMgr client is automatically taken out of provisioning mode. As soon as the ConfigMgr client is taken out of provisioning mode, it then proceeds to pull down policy from the MP and configure the ConfigMgr client appropriately.

If the Task Sequence does not exit cleanly, the ConfigMgr client may not be taken out of provisioning mode. This may lead to the ConfigMgr client not being configured properly and where it does not pull down policy from the MP. Manual attempts at trying to download policy will only partially succeed since the ConfigMgr client is in provisioning mode and not configured properly.

Please note that Task Sequence not exiting cleanly is not the same as the Task Sequence failing. When Task Sequences fail they usually still exit cleanly. A Task Sequence not exiting cleanly is usually caused by one of the following scenarios:

1. At some point after the "Setup Windows and ConfigMgr" task, a power failure or crash occurs on the PC. At this point the PC may be bootable and the user may be able to log into the PC. However because the Task Sequence never exited cleanly, the ConfigMgr client is left in provisioning mode, and the problem may exist.

2. A "Restart Computer" task at some point after the "Setup Windows and ConfigMgr" task that is accidentally set to restart into the WinPE boot image assigned to the Task Sequence instead of the full Windows OS. This will cause the Task Sequence to end in WinPE. Because the ConfigMgr client is actually installed as part of the full Windows OS and not WinPE, and because the Task Sequence ends in WinPE instead of the full Windows OS, it cannot properly take the ConfigMgr client out of provisioning mode.

This error is common because the "Restart Computer" task defaults to restarting into the WinPE boot image instead of the full Windows OS. The "Restart Computer" task option "The boot image assigned to this task sequence" will cause it to reboot into WinPE, while the option "The currently installed default operating system" will cause it to reboot into the full Windows OS being deployed by the Task Sequence. If the option is not specifically switched from the default setting when the "Restart Computer" task is added to the Task Sequence, then the issue will occur.

3. In Windows XP and Windows Server 2003, if an application is installed during the Task Sequence that installs a custom Gina, the problem will happen. In Windows XP and Windows Server 2003, the ConfigMgr OSD Task Sequence will install a custom Gina called OSDGina. This Gina is used for several reasons during a Task Sequence such as accomplishing automatic log ins between reboots, disabling all user interfaces such as Explorer, etc. If the OSDGina is replaced by another custom Gina, then the Task Sequence cannot end or exit cleanly and the ConfigMgr client will not be taken out of provisioning mode.
Note: Custom Ginas can only be used in Windows XP or Windows Server 2003. Custom Gina issues will not occur in Windows Vista or newer since custom Ginas, including OSDGina, are not used in Windows Vista or newer.

Resolution

To confirm the issue, inspect the registry key to see if it is set to True:

32bit Windows OS
HKLM\SOFTWARE\Microsoft\CCM\CcmExec!ProvisioningMode

64bit client Windows OS
HKLM\SOFTWARE\Wow6432Node\Microsoft\CCM\CcmExec!ProvisioningMode

Additionally, inspect the registry key:

32bit Windows OS
HKLM\SOFTWARE\Microsoft\CCM\CcmExec!SystemTaskExclude

64bit Windows OS
HKLM\SOFTWARE\Wow6432Node\Microsoft\CCM\CcmExec!SystemTaskExcludes

see if has the following value:

SchedulerStartup;SchedulerShutdown;SchedulerLogon;SchedulerLogoff;ClientRegistrationStartup

If either or both of the above is true then the ConfigMgr client is stuck in provisioning mode.

Setting the first registry value to False and blanking out the second registry value will resolve the issue on that particular client, however this will not resolve the issue from occurring again during the Task Sequence on another client.

To determine if one of the tasks in the Task Sequence is causing the problem, disable all tasks after the "Setup Windows and ConfigMgr" task and rerun the Task Sequence. If the Task Sequence completes successfully and the ConfigMgr client successfully processes policy then the problem is with one of the tasks in the Task Sequence after the "Setup Windows and ConfigMgr" task.

To resolve the issue, first determine what is causing the Task Sequence not to exit cleanly:

1. A misconfigured "Restart Computer" task after the "Setup Windows and ConfigMgr" task that finishes the Task Sequence in WinPE instead of the full Windows OS.

2. When deploying Windows XP or Windows Server 2003, an "Install Software" or "Run Command Line" task that installs a custom Gina.

Once the cause of the problem is determined, follow the appropriate section below to resolve the issue.

Note: Do NOT try and resolve the problem by trying to add tasks in the Task Sequence that change the registry keys that sets the ConfigMgr client to provisioning mode. Doing so can cause unexpected behavior and may cause the Task Sequence to fail.

To resolve the issue when caused by a misconfigured "Restart Computer" task:

1. In the ConfigMgr 2007 console, navigate to  "Computer Management" --> "Operating System Deployment" --> "Task Sequences".

2. Right click on the affected Task Sequence and choose "Edit".

3. Locate any "Restart Computer" tasks that exist after the "Setup Windows and ConfigMgr" task and then click on them. Please note that the "Restart Computer" tasks may have been given a custom name.

4. In each "Restart Computer" task, verify that the setting "Specify what to run after restart:" is set to "The currently installed default operating system".

Note: If for some reason the intention is to actually restart the Task Sequence back into the WinPE boot image at some point after the "Setup Windows and ConfigMgr" task, an additional "Restart Computer" task needs to be added to the Task Sequence at some point after the original "Restart Computer" task with the "Specify what to run after restart:" setting properly selected to "The currently installed default operating system".  In other words, for Task Sequence that have "Restart Computer" tasks after the "Setup Windows and ConfigMgr" task, the final "Restart Computer" task in Task Sequence should always have the setting "Specify what to run after restart:" set to "The currently installed default operating system". This will ensure that the Task Sequence complete in the full Windows OS and not in WinPE.

To resolve the issue when caused by an application installing a custom Gina:

1. On a PC that already has the custom GINA installed, take a look at the following registry key and record the name of the custom Gina:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon!GinaDLL

2. In the ConfigMgr 2007 console, navigate to  "Computer Management" --> "Operating System Deployment" --> "Task Sequences".

3. Right click on the affected Task Sequence and choose "Edit".

4. Locate the "Install Software" or "Run Command Line" task that installs the application with the custom Gina.

  • If the task is a "Run Command Line", under the "Command line:" text box, modify the command line and add the appropriate switches or options to suppress reboots. Once done, move on to Step 5. Please note that the appropriate command, options, or switches vary with application installer. Please refer to the product documentation of the application installer for the appropriate command, option, or switch to suppress reboots.
  • If the task is an "Install Software" task, determine the Package and Program that installs the custom Gina.
    1. In the ConfigMgr 2007 console, navigate to "Software Distribution" --> "Packages".
    2. Locate the appropriate Package, expand it and then click on "Programs".
    3. Right click on the appropriate Program and choose "Properties".
    4. Under the "General" tab, next to the "Command line:" box, modify the command line and add the appropriate switches or options to suppress reboots. Please note that the appropriate command, options, or switches vary with application installer. Please refer to the product documentation of the application installer for the appropriate command, option, or switch to suppress reboots.
    5. Click on the "OK" button.
    6. Switch back to the affected Task Sequence.

5. Click on the “Install Software” or "Run Command Line" task that installs the application with the custom Gina, and then go to "Add" --> "General" --> "Run Command Line". This should create a "Run Command Line" task immediately after the “Install Software” or "Run Command Line" task that installs the application with the custom Gina.

6. In the newly created "Run Command Line" task from Step 5:

  • Next to the "Name:" text box, enter in:  Set Custom Gina
  • Under the "Command Line:" text box, enter in: 

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v OSDOldGinaDLL /t REG_SZ /d <Custom_Gina> /f

where <Custom_Gina> is the value obtained from Step 1, i.e. CustomGina.dll. Do not include the brackets <> in the registry key value.

7. Click on the "Capture Custom Gina" Run Command Line task created in Steps 5 and 6 and then go to "Add" --> "General" --> "Run Command Line".   This should create a "Run Command Line" task immediately after the "Set Custom Gina" Run Command Line task.

8.  In the newly created "Run Command Line" task from Step 7:

  • Next to the "Name:" text box, enter in:  Restore OSD Gina

  • Under the "Command Line:" text box, enter in:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v GinaDLL /t REG_SZ /d OSDGINA.DLL /f

9. Click on the "Apply" button to save the Task Sequence.

When the Task Sequence completes, it will use the value stored in the below registry key to restore the custom Gina:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon!OSDOldGinaDLL

Frank Rojas | System Center Support Escalation Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The OpsMgr Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis

clip_image001clip_image002

New KB: A System Center Configuration Manager 2007 SP2 Task Sequence may fail if the computer has multiple drives or partitions and USMT 4 with hardlinking is being used

$
0
0

KBJust a heads up on a new ConfigMgr 2007 Knowledge Base article we published this morning.  If you're using a ConfigMgr Task Sequence on a PC with multiple drives or partitions and it uses USMT 4 with hardlinking then you'll want to check this one out:

=====

Symptoms

Consider the following scenario:

  1. A computer has two or more drives or partitions.
  2. The User Profiles and the Windows directory are located on the first drive or partition (assume drive letter C:).
  3. Second drive or partition has more available free disk space than the first (assume drive letter D:).
  4. A Configuration Manager 2007 OSD Refresh Task Sequence that uses USMT 4 with hardlinking is run on the computer.

In this scenario the Capture User Files and Settings"/"Capture User State" task will succeed but the "Restore User State"/"Restore User Files and Settings" task will fail.

Viewing the SMSTS.log reveals the following errors:

Executing command line: osdmigrateuserstate.exe /apply /continueOnError:%OSDMigrateContinueOnRestore% TSManager
==============================[ OSDMigrateUserState.exe ]============================== OSDUSMT
Initializing from environment successful OSDUSMT
Trying to resolve package path for packageID - <Pacakage_ID> OSDUSMT
Successfully connected to "<Package_Location>\<Pacakage_ID>" OSDUSMT
USMT package path = '<Package_Location>\<Pacakage_ID>\' OSDUSMT
Initiailization succeeded OSDUSMT
EncryptionKey ENV var not found. This may be because Local state Store is used. OSDUSMT
Building Default USMT params successful OSDUSMT
Adding config files to user params successful OSDUSMT
Additional user defined options = "/hardlink /nocompress" OSDUSMT
Building user defined params successful OSDUSMT
Building USMT command successful OSDUSMT
Executing command line: "<Package_Location>\<Pacakage_ID>\<Arch>\loadstate.exe" "D:\_SMSTaskSequence\UserState/c /all /v:5 /l:"C:\Windows\CCM\Logs\SMSTSLog\loadstate.log" /progress:
"C:\Windows\CCM\Logs\SMSTSLog\loadstateprogress.log" /i:"<Package_Location>\<Pacakage_ID>\<Arch>\miguser.xml" /i:"<Package_Location>\<Pacakage_ID>\<Arch>\migapp.xml"  /hardlink /nocompress OSDUSMT
Process completed with exit code 38 OSDUSMT
USMT completed with exit code 38 OSDUSMT
USMT returned exit code (0x00000026). Look USMT log file loadstate.log for detail error message. OSDUSMT
Invoking ReleaseSource on USMTPackagePath <Package_Location>\<Pacakage_ID>\ OSDUSMT
OSDMigrateUserState finished: 0x80070026 OSDUSMT
Process completed with exit code 2147942438 TSManager
!--------------------------------------------------------------------------------------------! TSManager
Failed to run the action: Restore User Files and Settings.
Reached the end of the file. (Error: 80070026; Source: Windows) TSManager

Alternatively, if you are using a Task Sequence created with the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard you will see the following:

Executing command line: osdmigrateuserstate.exe /apply /continueOnError:%OSDMigrateContinueOnRestore% TSManager
==============================[ OSDMigrateUserState.exe ]============================== OSDUSMT
Initializing from environment successful OSDUSMT
Trying to resolve package path for packageID - <Pacakage_ID> OSDUSMT
Successfully connected to "<Package_Location>\<Pacakage_ID>" OSDUSMT
USMT package path = '<Package_Location>\<Pacakage_ID>\' OSDUSMT
Initiailization succeeded OSDUSMT
EncryptionKey ENV var not found. This may be because Local state Store is used. OSDUSMT
Building Default USMT params successful OSDUSMT
Adding config files to user params successful OSDUSMT
Additional user defined options = "/hardlink /nocompress" OSDUSMT
Building user defined params successful OSDUSMT
Building USMT command successful OSDUSMT
Executing command line: "<Package_Location>\<Pacakage_ID>\<Arch>\loadstate.exe" "D:\_SMSTaskSequence\StateStore /c /all /v:5 /l:"C:\Windows\CCM\Logs\SMSTSLog\loadstate.log" /progress:
"C:\Windows\CCM\Logs\SMSTSLog\loadstateprogress.log" /i:"<Package_Location>\<Pacakage_ID>\<Arch>\miguser.xml" /i:"<Package_Location>\<Pacakage_ID>\<Arch>\migapp.xml"  /hardlink /nocompress OSDUSMT
Process completed with exit code 38 OSDUSMT
USMT completed with exit code 38 OSDUSMT
USMT returned exit code (0x00000026). Look USMT log file loadstate.log for detail error message. OSDUSMT
Invoking ReleaseSource on USMTPackagePath <Package_Location>\<Pacakage_ID>\ OSDUSMT
OSDMigrateUserState finished: 0x80070026 OSDUSMT
Process completed with exit code 2147942438 TSManager
!--------------------------------------------------------------------------------------------! TSManager
Failed to run the action: Restore User State.
Reached the end of the file. (Error: 80070026; Source: Windows) TSManager

The loadstate.log will also show the following errors:

<Date> <Time>, Status                [0x000000] Activity: 'MIGACTIVITY_TRANSPORT_SELECTION'
<Date> <Time>, Info                  [0x000000] Processing the settings store[gle=0x00000006]
<Date> <Time>, Info                  [0x000000] Opening hardlink store D:\_SMSTaskSequence\UserState
<Date> <Time>, Info                  [0x000000] Entering MigOpenHardLinkStore method
<Date> <Time>, Info                  [0x0802e2] User selecting transport(UNC Transport (class CUNCTransport) ) with initialization data(UNC: Path(D:\_SMSTaskSequence\UserState\USMT))
<Date> <Time>, Error                 [0x080000] HARDLINK: cannot find distributed store for c - 0694a57d-1506-4755-af10-782d0a5b1723[gle=0x00000002]
<Date> <Time>, Error                 [0x0802e3] SelectTransport: OpenDevice failed with Exception: Win32Exception: HARDLINK: cannot find all distributed stores.:
There are no more files. [0x00000012] void __cdecl Mig::CMediaManager::SelectTransportInternal(int,unsigned int,struct Mig::IDeviceInitializationData *,int,int,int,unsigned __int64,class Mig::CDeviceProgressAdapter *)
void __cdecl Mig::CHardLinkHelper::Open(class UnBCL::String *)[gle=0x00000002]
<Date> <Time>, Error                 [0x000000] Unable to open store at D:\_SMSTaskSequence\UserState\USMT[gle=0x00000002]
<Date> <Time>, Info                  [0x000000] Leaving MigOpenHardLinkStore method
<Date> <Time>, Error                 [0x000000] Failed to select store. Path: D:\_SMSTaskSequence\UserState[gle=0x00000002]
<Date> <Time>, Warning               [0x000000] Internal error 23 was translated to a default error
<Date> <Time>, Info                  [0x000000] Failed.[gle=0x00000006]
<Date> <Time>, Info                  [0x000000]   An error occurred during store access[gle=0x00000006]
<Date> <Time>, Info                  [0x000000] USMT Completed at 2010/06/30:15:46:50.995[gle=0x00000006]

Alternatively, if you are using a Task Sequence created with the MDT 2010/MDT 2010 Update 1 "Create Microsoft Deployment Task Sequence" Wizard you will see the following:

<Date> <Time>, Status                [0x000000] Activity: 'MIGACTIVITY_TRANSPORT_SELECTION'
<Date> <Time>, Info                  [0x000000] Processing the settings store[gle=0x00000006]
<Date> <Time>, Info                  [0x000000] Opening hardlink store D:\_SMSTaskSequence\StateStore
<Date> <Time>, Info                  [0x000000] Entering MigOpenHardLinkStore method
<Date> <Time>, Info                  [0x0802e2] User selecting transport(UNC Transport (class CUNCTransport) ) with initialization data(UNC: Path(D:\_SMSTaskSequence\StateStore\USMT))
<Date> <Time>, Error                 [0x080000] HARDLINK: cannot find distributed store for c - 0694a57d-1506-4755-af10-782d0a5b1723[gle=0x00000002]
<Date> <Time>, Error                 [0x0802e3] SelectTransport: OpenDevice failed with Exception: Win32Exception: HARDLINK: cannot find all distributed stores.: There are no more files. [0x00000012] void __cdecl Mig::CMediaManager::SelectTransportInternal(int,unsigned int,struct Mig::IDeviceInitializationData *,int,int,int,unsigned __int64,class Mig::CDeviceProgressAdapter *)
void __cdecl Mig::CHardLinkHelper::Open(class UnBCL::String *)[gle=0x00000002]
<Date> <Time>, Error                 [0x000000] Unable to open store at D:\_SMSTaskSequence\StateStore\USMT[gle=0x00000002]
<Date> <Time>, Info                  [0x000000] Leaving MigOpenHardLinkStore method
<Date> <Time>, Error                 [0x000000] Failed to select store. Path: D:\_SMSTaskSequence\StateStore[gle=0x00000002]
<Date> <Time>, Warning               [0x000000] Internal error 23 was translated to a default error
<Date> <Time>, Info                  [0x000000] Failed.[gle=0x00000006]
<Date> <Time>, Info                  [0x000000]   An error occurred during store access[gle=0x00000006]
<Date> <Time>, Info                  [0x000000] USMT Completed at 2010/06/30:15:46:50.995[gle=0x00000006]

Cause

This problem occurs because the default path where the USMT 4 state store is to be saved as specified by ConfigMgr 2007 is on a drive or partition other than the one where the Windows directory and User Profiles are located. When using hardlinking, this could possibly cause the state store to either span multiple drives/partitions and/or actually reside on a drive/partition other than the drive specified in the path by ConfigMgr 2007. The reason for this is that when using hardlinking, the state store has to reside on the same drive/partition where the original data existed.

The state store location is stored in the variable OSDStateStorePath. The default value of this variable is another variable, _SMSTSUserStatePath. _SMSTSUserStatePath usually resolves to a subdirectory called UserState within the Task Sequence cache folder. The Task Sequence cache folder is automatically created by the Configuration Manager Task Sequence and placed on the root level of the drive with the most available free space and given the name _SMSTaskSequence. Similarly, when using MDT 2010/MDT 2010 Update 1 integration, the state store location is determined by the ztiuserstate.wsf script in the "Determine Local or Remote UserState" task. The ztiuserstate.wsf script also sets the value of OSDStateStorePath to a subdirectory within the Task Sequence cache folder, but to a subdirectory called StateStore.

If a computer only has one drive or partition, or has multiple drives or partitions but the first drive/partition has the most available free space, the Task Sequence cache folder will be created at the path C:\_SMSTaskSequence. The state store would then be saved within this folder in either the path C:\_SMSTaskSequence\UserState or C:\_SMSTaskSequence\StateStore.

However, if a PC has multiple drives/partitions and the first drive/partition is not the one with the most available free space, then the Task Sequence cache folder will be created on the drive/partition with the most available free space. Assuming that the drive/partition with the most available free space has the drive letter of D:, then the path where the Task Sequence cache folder would be created is D:\_SMSTaskSequence. The state store would then be specified to be in either the directory D:\_SMSTaskSequence\UserState or D:\_SMSTaskSequence\StateStore. Assuming that the drive/partition where the user profiles are located and Windows is installed onto is the first partition/drive with the drive letter of C:, then the state store will actually span multiple volumes and/or reside on a drive/partition other than the one specified in the state store path since some or all of the original data exists on C:.

This is a problem when using USMT 4 hardlinking with ConfigMgr 2007 because at least part of the hardlink state store is on a different drive/partition (D:) than Windows and the user profiles (C:). When a ConfigMgr 2007 OSD Task Sequence runs, at the "Apply Oeprating System Image" step, before the OS is applied to the hard drive, a recursive delete runs that wipes all contents of the drive minus a few protected folders. Normally the folder containing the state store and specified in the OSDStateStorePath variable is marked as one of the protected folders. However, if the state store spans multiple volumes, only the part of the state store that resides on the same drive/partition that is specified in the OSDStateStorePath variable is not wiped. The state store that resides on the OS volume is wiped, causing the problem.

This scenario will not cause the capture performed by scanstate.exe via the "Capture User State" task to fail because a hardlink state store that spans multiple drives/partitions is a supported scenario when using USMT 4 outside of ConfigMgr 2007. However, when the restore of the state store is attempted by loadstate.exe via the "Restore User State" task, loadstate.exe will report that state store is invalid since part of it has been deleted and it will exit with a failure. If the drive/partition where the user profiles were originally located has been formatted, wiped, or erased (usually via the "Format and Partition Disk" or "Apply Oeprating System Image" tasks) then there is no way to recover the original files and settings.

Resolution

To resolve the prople the state store has to be all saved to the same drive/partition where the Windows OS and User Profiles reside. This will cause the state store not to span multiple drives/partitions. To do this, the variable OSDStateStorePath has to be changed from its default value. When using MDT 2010/MDT 2010 Update 1 integration, the variable has to be redefined after it has been set by the "Determine Local or Remote UserState" task via the ztiuserstate.wsf script .

To ensure that the state store is saved to the same drive/partition where Windows is installed and the User Profiles are located, the environment variable SystemDrive can be used as part of the path that defines the variable OSDStateStorePath.

If MDT 2010/MDT 2010 Update 1 integration is not being used, the "Set Task Sequence Variable" task that sets the variable OSDStateStorePath needs to be modified:

  1. In the ConfigMgr 2007 Admin console, navigate to the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node.
  2. Right click on the affected Task Sequence and choose "Edit".
  3. Click on the "Set Local State Location" task. Ensure that the task is a "Set Task Sequence Variable" task that sets the variable OSDStateStorePath.
    Next to the "Value:" text field, change it from
    %_SMSTSUserStatePath%

    to
    %SystemDrive%\UserState
  4. Click on the "OK" or "Apply" button to save the task sequence.

If the "Set Local State Location" task does not exist, look for a "Set Task Sequence Variable" task that sets the variable OSDStateStorePath, and then make the changes above.

If using MDT 2010/MDT 2010 Update 1 integration, then a new "Set Task Sequence Variable" task needs to be added after the "Determine Local or Remote UserState" task that redefines the variable OSDStateStorePath:

  1. In the ConfigMgr 2007 Admin console, navigate to the "Computer Management" --> "Operating System Deployment" --> "Task Sequences" node.
  2. Right click on the affected Task Sequence and choose "Edit".
  3. Click on the "Determine Local or Remote UserState" task and then go to "Add" --> "General" --> "Set Task Sequence Variable". This should create a "Set Task Sequence Variable" task after "Determine Local or Remote UserState" task but before the "Request State Store" task.
  4. In the newly created "Set Task Sequence Variable Task":
    • Next to the "Name:" text box, enter in:
      Set Local State Location
    • Next to the "Task Sequence Variable:" text box, enter in
      OSDStateStorePath
    • Next to the "Value:" text box, enter in:
      %SystemDrive%\StateStore
  5. Click on the "OK" or "Apply" button to save the task sequence.

If in Step 3 the task "Determine Local or Remote UserState" does not exist or has been renamed, look for the "Run Command Line" task that runs the script ztiuserstate.wsf, and then follow the above steps.

Note:

  • In the above two methods, the state store subdirectories are called UserState and StateStore. However the name of the state store can be whatever the user desires as long as it is within Windows naming conventions. The key point is to use the environment variable SystemDrive as part of the path to ensure that the state store is saved in the same drive/partition as Windows and the user profiles.

  • Ensure that there are no "Format and Partition Disk"/"Partition Disk"/"Partition Disk 0" tasks in the Task Sequence that format and partition the drive/partition where the user profiles are originally located and where the state store is saved. If there are any such tasks, either disable them or make sure that they have conditions on them where they do not run if state store is saved locally on the hard drive.
    If a "Format and Partition Disk" task runs on the drive/partition where the user profiles are originally located and where the state store is saved, then all of the data and settings captured in the state store will be lost. Instead the "Apply Operating System Image"/"Apply Operating System" task will run a recursive delete of all files and directories on the drive/partition minus a few protected folders.
    The protected folders that are not deleted include the Task Sequence cache folder and the state store folder. The Task Sequence cache folder path is stored in the variables _SMSTSMDataPath , _SMSTSClientCache, and _SMSTSNewClientCachePathToCleanup and usually resolves to the path C:\_SMSTaskSequence. As mentioned earlier, the state store path is stored in the variable OSDStateStorePath. The protected folders that will not be wiped are stored in the variable _SMSTSProtectedPaths
    In the SMSTS.log, the recursive delete and wipe process that occurs during the "Apply Operating System Image"/"Apply Operating System" task is logged as something similar to the following:
    Wiping C:\                                                                                               ApplyOperatingSystem
    Set "C:\_SMSTaskSequence" to not be wiped                                             ApplyOperatingSystem
    Set "%OSDStateStorePath%" to not be wiped                                             ApplyOperatingSystem
    Set "%_SMSTSClientCache%" to not be wiped                                            ApplyOperatingSystem
    Set "%_SMSTSNewClientCachePathToCleanup%" to not be wiped                ApplyOperatingSystem
    Skipping C:\_SMSTaskSequence for wipe                                                   ApplyOperatingSystem
    Calculating expected free space.                                                                ApplyOperatingSystem
    Reporting deletion progress.                                                                      ApplyOperatingSystem
    Successfully wiped C:\                                                                              ApplyOperatingSystem

=====

For the latest version of the article see the link below:

KB2269650 - A System Center Configuration Manager 2007 SP2 Task Sequence may fail if the computer has multiple drives or partitions and USMT 4 with hardlinking is being used

J.C. Hornbeck | System Center Knowledge Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis

clip_image001clip_image002

UDI Task Sequence generates "No valid Windows directory found, data and settings will not be captured" error

$
0
0

toolsignWhen running a User Driven Installation (UDI) Task Sequence on an x64 (64-bit or AMD64) Windows 7 machine, it shows the following warning under User Data and Settings:

No valid Windows directory found, data and settings will not be captured

Cause

This can occur when your  64-bit image is configured as a 32-bit image in the UDI Wizard Designer.  When you add your image, the UDI Wizard Designer defaults to specifying a Windows 7 x86 (32-bit) image:

If using a 64-bit image you will need to change this to AMD64.

Resolution

Once you remove the x86 reference and added it back as AMD64 in the wizard it allows the Task Sequence to work as expected.

New Bitmap Image

Clifton Hughes | Senior System Center Support Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis

clip_image001clip_image002

How to stage Task Sequence Prestaged Media on a hard drive in Configuration Manager 2007

$
0
0

toolsign

When booting into a PC that has had Task Sequence Prestaged Media staged onto it, the Task Sequence may fail almost immediately with the following error message:

Unable to read task sequence configuration disk. For more information, please contact your system administrator or helpdesk operator.

Usually this error message is associated with no network connectivity in WinPE. Bringing up a command prompt in WinPE and running IPConfig confirms that there is no network connectivity, however NIC drivers have been loaded into the Boot Images. Furthermore, the same Task Sequence and Boot Images work fine when not being used with prestaged media (e.g. via PXE or boot media).

Trying to obtain the wpeinit.log from X:\Windows\System32 while in WinPE from the failed deployment to determine why the NIC drivers are not loading reveals that the log does not exist.

Cause

Instructions on how to create Task Sequence Prestaged Media are listed in the below TechNet documentation:

How to Create Task Sequence Prestaged Media : http://technet.microsoft.com/en-us/library/gg294170.aspx

However, once the prestage media is created there is no further instructions on how to stage the Task Sequence Prestaged Media onto the hard drive.  If the Task Sequence Prestaged Media is not staged correctly to a hard drive on a PC, strange behavior may occur when the Task Sequence is started, including the error described above.

Resolution

There are two ways to properly stage a Task Sequence Prestage Media on a hard drive:

  • Manually
  • Via A Task Sequence

Manually Stage A Task Sequence Prestaged Media On A Hard Drive

The following steps will manually stage the Task Sequence Prestage Media onto the hard drive of a PC. Please note that the below instructions:

1. Copy the Task Sequence Prestage Media WIM file and ImageX.exe to a USB Flash Drive. Make sure that both the Task Sequence Prestage Media WIM file and ImageX.exe are in the same directory. Connect the drive to the PC where the Task Sequence Prestage Media needs to be staged onto.

2. On the PC where the Task Sequence Prestage Media needs to be staged onto the hard drive, boot into WinPE 3.0 or newer. The method by which booting into WinPE (PXE, USB media, CD/DVD media) does not matter.

3. Once in WinPE, at the command prompt, type in:

DiskPart

This should give the "DISKPART>" prompt.

4. At the "DISKPART>" prompt, type in:

List Volume

Determine what the drive letter is assigned to the drive from Step 1.

5. At the "DISKPART>" prompt, type in:

List Disk

Determine what disk number is for the hard drive on the PC (usually 0).

6. At the "DISKPART>" prompt, type in:

Select Disk x

where x is the disk number determine in Step 5. Make sure to pick the appropriate disk number as choosing the incorrect disk number could cause the wrong disk to be wiped, resulting in data loss.

7. At the "DISKPART>" prompt, type in the following commands in the following order:

Clean
Create Partition Primary
Select Partition 1
Format FS=NTFS Quick
Active
Assign

8. At the "DISKPART>" prompt, type in:

List Volume

Determine what drive letter was assigned to the hard drive in Step 7.

9. At the "DISKPART>" prompt, type in:

Exit

This should exit DiskPart and return back to the X: command prompt.

10. At the command prompt, using the drive letter determined in Step 4, switch to the drive from Step 1.

11. At the command prompt, switch to the directory that contains the Task Sequence Prestage Media WIM file and ImageX.exe.

12. At the command prompt, type in the following command to stage the WIM file onto the hard drive:

imagex.exe /apply <wim_name>.wim 1 <drive_letter_of_hard_drive>

where <wim_name> is the name of the Task Sequence Prestage Media WIM file and <drive_letter_of_hard_drive> is the drive letter of the hard drive as determined in Step 8. Do not include the brackets (<>) in the command line. For example, if the Task Sequence Prestage Media WIM file is called "prestage.wim" and the drive letter determined in Step 8 is C:, the command would be:

imagex.exe /apply prestage.wim 1 C:

The amount of time it takes to apply the WIM file to the hard drive can vary and depends on the size of the Task Sequence Prestage Media WIM file. Expect for it to at least take several minutes.

13. Once the WIM file is finished being applied to the hard drive, shutdown the PC by running the following command at the command prompt:

wpeutil shutdown

Once the PC is shutdown, the Task Sequence Prestage Media WIM file has been successfully applied to the hard drive of the PC and is ready for delivery to the OEM. Unless in the testing phase, do NOT turn the PC back on before the necessary materials have been delivered to the OEM.

Notes:

1. In Step 1, ImageX is part of the Windows Automated Installation Kit (WAIK). The WAIK is installed on the ConfigMgr 2007 site server. ImageX can be found under the directory Program Files\Windows AIK\Tools\amd64 or Program Files\Windows AIK\Tools\x86. Make sure to choose the appropriate version based on architecture.

2. In Step 1, a DVD disc or network share can be used instead of a USB Flash drive. If a network share is being used, make sure that the appropriate NIC drivers are loaded into the WinPE being used in Step 2. Additionally, in Step 3, use the "net use" command at the command prompt to connect to the network share.

3. To create a WinPE bootable disk for use in Step 2, use the Windows Automated Installation Kit (WAIK). The following guides step through on how to create a WinPE bootable disk:

Walkthrough: Create a Bootable Windows PE RAM Disk on CD-ROM : http://technet.microsoft.com/en-us/library/dd799303(WS.10).aspx
Walkthrough: Create a Bootable Windows PE RAM Disk on a USB Flash Disk : http://technet.microsoft.com/en-us/library/dd744530(WS.10).aspx

The WAIK should be installed on the ConfigMgr 2007 site server.

As an alternative to manually creating a WinPE boot disk, one of the ConfigMgr 2007 Boot Images can be used to boot into WinPE via any advertised Task Sequence to the PC. Just make sure that in the properties of the Boot Image in the ConfigMgr 2007 Admin Console,  the option "Enable command support (testing only)" is checked under the "Windows PE" tab. Additionally, make sure that the advertisement for the Task Sequence(s) are not set to mandatory. When booting into the Boot Image, when the "Welcome to the Task Sequence Wizard" screen appears, do NOT click on the "Next >" button. Instead, hit F8 to bring up the command prompt, then proceed to Step 3.

4. The drive used to boot into WinPE in Step 2 can be the same drive that hosts the WIM file and ImageX from Step 1.

Stage A Task Sequence Prestaged Media Via A Task Sequence

1. In the ConfigMgr 2007 Admin Console, navigate to "Computer Management" --> "Operating System Deployment" --> "Operating System Images".

2. Right click on "Operating System Images" and choose "Add Operating System Image".

3. Follow the "Add Operating System Image Wizard" and add the Task Sequence Prestaged Media WIM file as an Operating System Image.

4. Once the Task Sequence Prestaged Media WIM file has been added as an Operating System Image, under the node for the newly added Operating System Image, add it to distribution points (DPs) by right clicking on "Distribution Points" selecting "New Distirbution Points", and follow the "New Distribution Points Wizard".

5. In the ConfigMgr 2007 Admin Console, navigate to "Computer Management" --> "Operating System Deployment" --> "Task Sequences".

6. Right click on "Task Sequences" and then choose "New" --> "Task Sequence" to open the "New Task Sequence Wizard".

7. In the "Create a New Task Sequence" window, select "Create a new custom task sequence" and then click on the "Next >" button.

8. In the "Task Sequence Information" window:

- In the "Task Sequence name:" text box, give the Task Sequence an appropriate name, such as "Stage Task Sequence Prestaged Media WIM File"

- Next to "Boot image:", click on the "Browse..." button and select an appropriate Boot Image.

9. In the "Summary" window, click on the "Next >" button.

10. In the "Wizard Completed" window, click on the "Close" button.

11. On the right hand pane of the ConfigMgr 2007 Admin Console, right click on the newly created Task Sequence and choose "Edit".

12. Click on the "Add" menu and choose "Disks" --> "Format and Partition Disk".

13. In the "Format and Partition Disk" task, next to "Volume", click on the yellow star button to bring up the "Partition Properties" window.

14. In the "Partition Properties" window:

- Next to the "Partition name:" text box, if desired, give the partition a name such as "OS" or "Windows". (Optional)

- Under the "Partition Options" section, click on the option "Make this the boot partition".

- Under the "Formatting options" section, click on the "Quick format" option.

- Leave all other options at their default, and then click on the "OK" button.

15. Click on the "Add" menu and choose "Images" --> "Apply Data Image".

16. In the "Apply Data Image" task, next to the "Image package:" field, click on the "Browse..." button. Select the Task Sequence Prestaged Media WIM file imported in Step 3 and then click on the "OK" button.

17. Click on the "Add" menu and choose "General" --> "Run Command Line".

18. In the "Run Command Line":

- Next to the "Name:" text box, type in: Shutdown

- Under the "Command Line:" text box, type in: wpeutil shutdown

19. Click on the "OK" or "Apply" button to save the Task Sequence.

20. Using normal procedures for advertising Task Sequences, advertise the Task Sequence created in Steps 6-19 to the PC where Task Sequence Prestaged Media WIM file needs to be staged on.

21. Once the Task Sequence has been advertised, run the Task Sequence on the PC where Task Sequence Prestaged Media WIM file needs to be staged on.

Once the Task Sequence completes on the PC, the PC will shutdown. Once the PC has shutdown, the Task Sequence Prestage Media WIM file has been successfully applied to the hard drive of the PC and is ready for delivery to the OEM. Unless in the testing phase, do NOT turn the PC back on before the necessary materials have been delivered to the OEM.

Hope this helps,

Frank Rojas | System Center Support Escalation Engineer

Wilhelm Kocher | Senior Premier Field Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode

clip_image001clip_image002

ConfigMgr 2007 Quick Fix: A package specified in the Use Toolkit Package MDT task does not download correctly

$
0
0

KBWhen using the Use Toolkit Package task in a Configuration Manager 2007 task sequence, the Microsoft Deployment Toolkit 2010 Update 1 files package specified in the Use Toolkit Package task may not download correctly when the Distribution Point is on a Windows Server 2008 or newer server. The behavior will be different depending on the download method chosen under the Distribution Points tab in the properties of the advertisement:

Download content locally when needed by running task sequence

When the Task Sequence reaches the Use Toolkit Package task, the files for the package specified in the Use Toolkit Package will start to download and the progress bar will reach about 27%. The download will then all of a sudden stop, restart from the beginning, only to reach 27% again, and then restart again. On the third attempt it will the progress bar will get past 27% and finish downloading successfully. Reviewing the SMSTS.log on the client PC will show the following error:

Downloaded file from http://<DP_Server>:80/SMS_DP_SMSPKG<Drive_Letter>%24/<Package_ID>/Tools/OSDResults/OSDResults.exe to D:\_SMSTaskSequence\Packages\<Package_ID>\Tools/OSDResults/OSDResults.exe InstallSoftware
dwStatusCode>=200 && dwStatusCode<=299, HRESULT=80004005 (e:\nts_sms_fre\sms\framework\tscore\downloadcontent.cpp,1090) InstallSoftware
WinHttpQueryHeaders() returns status code 404 (Not Found) InstallSoftware
Download() failed with 0x80004005 InstallSoftware
DownloadFile(sSourceFile, sDestinationFile, ulTotalSizeRequired, ulDownLoaded), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\tscore\downloadcontent.cpp,1175) InstallSoftware
Error downloading file from http://<DP_Server>:80/SMS_DP_SMSPKG<Drive_Letter>%24/<Package_ID>/Tools/OSDResults/OSDResults.exe.config to D:\_SMSTaskSequence\Packages\<Package_ID>\Tools/OSDResults/OSDResults.exe.config InstallSoftware
DownloadFiles(sSource, setDirs, setFiles, sDestination), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\tscore\resolvesource.cpp,2434) InstallSoftware
Retrying download... InstallSoftware

The above error will be displayed a second time, followed by the following line after the second failure:

Tried all the available http based locations. SMB based locations will be attempted now. InstallSoftware

After the second error and the above message, the download will be tried a third time and will then succeed.

Examining the IIS logs on the distribution point server will reveal the following error:

<GMT_Date> <GMT_Time> <DP_Server_IP> GET /SMS_DP_SMSPKG<Drive_Letter>$/<Package_ID_Of_Pacakage_In_Use_Toolkit_Package>/Tools/OSDResults/OSDResults.exe.config - 80 - <Client_IP> SMS+TS 404 7 64 15

Download all contents locally before starting task sequence

When the advertisement is initiated either manually via the Run Advertised Programs control panel or automatically via a mandatory assignment, the download for the packages of the Task Sequence begins but never completes. Because the download for the Task Sequence packages never completes, the Task Sequence never begins or launches and the SMSTS.log is never created on the client PC.

Reviewing client logs associated with downloading packages and executing the Task Sequence (execmgr.log, CAS.log, DataTransferService.log, ContentTransferManager.log) will not contain any errors. The client logs indicate that the downloads for the packages have begun, but the downloads never complete. Some of the client logs may have messages indicating that the downloads are in a pending or waiting state such as:

DataTransferService.log
Execute called for DTS job '{GUID}'. Current state: 'PendingDownload'.

execmgr.log
Execution Request for package <Task_Sequence_ID> program * state change from WaitingDependency to WaitingContent execmgr
Persisting task sequence request for program * package <Task_Sequence_ID> in state WaitingContent execmgr

If the advertisement for the Task Sequence was initiated manually via the Run Advertised Programs control panel, the Program Download Status window will show a progress bar that initially shows progress, but eventually stops and does not complete. The percentage complete will fail at a randomly different point each time the download is attempted.

Examining the IIS logs on the distribution point server will reveal the following error:

<GMT_Date> <GMT_Time> <DP_Server_IP> HEAD /SMS_DP_SMSPKG<Drive_Letter>$/<Package_ID_Of_Pacakage_In_Use_Toolkit_Package>/Tools/OSDResults/OSDResults.exe.config - 80 - <Client_IP> Microsoft+BITS/7.5 404 7 0 218

Running Bitsadmin.exe on the client PC with the following command line:

bitsadmin.exe /list /allusers /verbose

while the download is in the hung state will reveal the following error:

ERROR FILE: http://<DP_Server>:80/SMS_DP_SMSPKG<Drive_Letter>$/<Pacakge_ID>/Tools/OSDResults/OSDResults.exe.config -> C:\Windows\system32\CCM\Cache\<Pacakage_ID>.<Source_Version>.<GUID>\Tools/OSDResults/OSDResults.exe.config
ERROR CODE: 0x80190194 - HTTP status 404: The requested URL does not exist on the server.ERROR CONTEXT: 0x00000005 - The error occurred while the remote file was being processed.

Access content directly from a distribution point when needed by the running task sequence

No download issues are experienced when the advertisement for the Task Sequence is set to run from the distribution point (DP).

Cause

This issue is caused by the default configuration of IIS in Windows Server 2008 blocking the ability to download files that end in the extension .config. The Microsoft Deployment Toolkit 2010 Update 1 files package created by the Create Microsoft Deployment Task Sequence wizard and used in the Use Toolkit Package contains a file that ends in .config. The file is called OSDResults.exe.config and is located in the Tools\OSDResults directory of the package source files.

When the option "Download content locally when needed by running task sequence" or "Download all contents locally before starting task sequence" is set on the advertisement for the Task Sequence, this will cause the file OSDResults.exe.config to be attempted to be downloaded via HTTP/HTTPS/BITS. However IIS will block this attempt since files ending in .config are blocked.

When using the option "Download content locally when needed by running task sequence", it will attempt the download two times using HTTP/HTTPS/BITS before failing over to SMB. Since SMB does not use IIS, the third download attempt will then succeed.

When using the option "Download all contents locally before starting task sequence", the BITS job gets hung on the error of not being able to download OSDResults.exe.config and does not fail over to SMB. This causes the whole download job to get in a hung state. Since the download for the packages of the Task Sequence never complete due to the hung state, the Task Sequence never launches.

When the option "Access content directly from a distribution point when needed by the running task sequence" is used, HTTP/HTTPS/BITS is not used and all data transfers use SMB instead. Because SMB does not utilize IIS, the data transfers will succeed.

Resolution

To resolve the problem, follow the section "Configure the requestFiltering section on distribution points" in the following article:

How to Configure Windows Server 2008 for Site Systems
http://technet.microsoft.com/en-us/library/cc431377.aspx

Specifically, on the Distribution Point server, configure IIS to allow files that contain the .config extension to be downloaded. This is done by changing the following line in the <requestFiltering> section of the applicationHost.config file from:

<add fileExtension=".config" allowed="false" />

to

<add fileExtension=".config" allowed="true" />

=====

The information above was published today in the following Microsoft Knowledge Base article written by Frank Rojas:

KB2508665 - A package specified in the Use Toolkit Package MDT task does not download correctly in a Configuration Manager 2007 Task Sequence

J.C. Hornbeck | System Center Knowledge Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials

clip_image001clip_image002

New KB article: OSD and Task Sequences fail after restoring a Configuration Manager 2007 Central site from backup

$
0
0

KBWhen using System Center Configuration Manager 2007 and restoring from a backup created via the "Backup ConfigMgr Site Server" maintenance task, OSD and Task Sequences may no longer function if the restore was performed after a Windows OS reinstall on the server or restoration to new server hardware. Obtaining the SMSTS.log from a failing client PC reveals the following errors:

Parsing Policy Body. TSMBootstrap
(!sNetworkAccessAccount.empty()) && (!sNetworkAccessPassword.empty()), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,1518) TSMBootstrap
Found empty NetworkAccessUsername/NetworkAccessPassword from NAAConfig CCM_NetworkAccessAccount TSMBootstrap
GetEncodedNetworkAccessAccount (sEncodedAccount, sEncodedPassword), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,1544) TSMBootstrap
Network Access Account is not set TSMBootstrap
GetNetworkAccessAccount( sNetworkAccessAccount, sNetworkAccessPassword ), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,1597) TSMBootstrap
pTSPolicyManager->GetContentLocations( m_sPackageID, m_lSourceVersion, m_dwContentSourceFlags, slistContentLocations, slistHttpContentLocations, slistMulticastContentLocations, m_dwContentPackageFlags ), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,2330) TSMBootstrap
(*iTSReference)->Resolve( pTSPolicyManager, dwResolveFlags ), HRESULT=80040101 (e:\nts_sms_fre\sms\framework\tscore\tspolicy.cpp,2862) TSMBootstrap
m_pSelectedTaskSequence->Resolve( m_pPolicyManager, TS::Policy::TaskSequence::ResolvePolicy | TS::Policy::TaskSequence::ResolveSource, fpCallbackProc, pv, hCancelEvent), HRESULT=80040101 (e:\nts_sms_fre\sms\client\tasksequence\tsmbootstrap\tsmediawizardcontrol.cpp,1208) TSMBootstrap
Failed to resolve selected task sequence dependencies. Code(0x80040101) TSMBootstrap
hrReturn, HRESULT=80040101 (e:\nts_sms_fre\sms\client\tasksequence\tsmbootstrap\tsmediaresolveprogresspage.cpp,408) TSMBootstrap
ThreadToResolveAndExecuteTaskSequence failed. Code(0x80040101) TSMBootstrap
ThreadToResolveAndExecuteTaskSequence returned code 0x80040101 TSMBootstrap
Setting wizard error: Failed to read network access account from machine policy. For more information, please contact your system administrator or helpdesk operator. TSMBootstrap

Reviewing the above SMSTS.log seems to reveal that the Network Access Account (NAA) is not set. The Network Access Account is needed by the Task Sequence while in WinPE to access network resources since the client PC while in WinPE is the equivalent of a non-domain joined workgroup PC.

Note: For additional information see the following TechNet article:

About the Network Access Account
http://technet.microsoft.com/en-us/library/bb680398.aspx

Reviewing the properties of the Computer Client Agent in the ConfigMgr 2007 admin console under Site Settings --> Client Agents reveals that the Network Access Account is set. Resetting the Network Access Account in the properties of the Computer Client Agent by reentering the Network Access Account's username and password seems to resolve the error, but then causes a new error in the SMSTS.log.

Note: For information on resetting the Network Access Account see the following TechNet article:

How to Configure the Network Access Account
http://technet.microsoft.com/en-us/library/bb632397.aspx

Reviewing the SMSTS.log on the failed client PC reveals the following error:

Decompressing reply body. TSMBootstrap
::DecompressBuffer(65536) TSMBootstrap
Decompression (zlib) succeeded: original size 476, uncompressed size 2568. TSMBootstrap
CryptMsgControl (hMsg, 0, CMSG_CTRL_VERIFY_SIGNATURE, pCert->pCertInfo), HRESULT=8009100e (e:\nts_sms_fre\sms\framework\osdmessaging\libcrypt.cpp,351) TSMBootstrap
signature varification failed TSMBootstrap
ipCertContext != listpServerCertContext.end(), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\osdmessaging\libsmsmessaging.cpp,2476) TSMBootstrap
signature check failed: <signature> TSMBootstrap
DoRequest (sReply, true), HRESULT=80004005 (e:\nts_sms_fre\sms\framework\osdmessaging\libsmsmessaging.cpp,5010) TSMBootstrap
Failed to get client identity (80004005) TSMBootstrap
ClientIdentity.RequestClientIdentity (), HRESULT=80004005 (e:\nts_sms_fre\sms\client\tasksequence\tsmbootstrap\tsmediawizardcontrol.cpp,815) TSMBootstrap
failed to request for client TSMBootstrap
Exiting TSMediaWizardControl::GetPolicy. TSMBootstrap
pWelcomePage->m_pTSMediaWizardControl->GetPolicy(), HRESULT=80004005 (e:\nts_sms_fre\sms\client\tasksequence\tsmbootstrap\tsmediawelcomepage.cpp,280) TSMBootstrap
Setting wizard error: An error occurred while retrieving policy for this computer (0x80004005). For more information, please contact your system administrator or helpdesk operator. TSMBootstrap

Cause

This issue is caused by the backup restoring the srvacct folder from the original ConfigMgr 2007 installation instead of keeping the srvacct folder from the new ConfigMgr 2007 installation. The srvacct folder can be found at the root level of the directory where ConfigMgr 2007 is installed. Normally this folder has a text file in it with the name srvacct.<site_code>. The text file has the public keys that along with private keys stored in the Windows OS allow it to decrypt service account information (username/password) which includes the Network Access Account.

When a Windows OS is freshly installed, either via a reinstall of the OS or install on new hardware, new private keys are generated in the Windows OS when ConfigMgr 2007 is installed. The applicable public keys that match up with the private keys are then generated and stored in the srvacct folder in the file srvacct.<site_code>. If a backup restores the srvacct folder from another instance of the Windows OS, the public keys in the srvacct.<site_code> folder will no longer match up with the private keys in the Windows OS. This will cause the information for any service account used by ConfigMgr 2007, including the Network Access Account, to not be able to be decrypted and used.

This issue can also cause problems in other areas of ConfigMgr 2007 other than Task Sequences and OSD. Service accounts are not normally used in ConfigMgr 2007 since most operations use the SYSTEM/site server's computer account. The only exception to this rule is the Network Access Account which is needed by Task Sequences when running in WinPE and is the reason why this issue most prominently affects OSD.

Service accounts can be used instead of the SYSTEM/site server's computer account in other areas of ConfigMgr 2007 other than Task Sequences and OSD. For a list of the different areas in ConfigMgr 2007 that can be optionally configured to use service accounts and may be affected by this issue, please see the following TechNet articles:

Accounts Configured in the Configuration Manager Console
http://technet.microsoft.com/en-us/library/bb693849.aspx

How to Configure Configuration Manager 2007 Accounts
http://technet.microsoft.com/en-us/library/bb680323.aspx

The two other areas that would most likely be affected by this problem other than OSD would be the use of Site Address Accounts (leading to sites not being able to communicate with one another) and database access accounts (leading to site roles not being able to access the database). The issue is mostly seen with OSD since a service account (the Network Access Account) is always needed and used.

Resolution

To resolve the issue, the ConfigMgr 2007 site will need to be reinstalled from scratch. The current restored ConfigMgr 2007 site cannot be used since the original srvacct folder no longer exists.

  1. Wipe the server and reinstall the Windows OS.
  2. Install ConfigMgr 2007 using normal procedures. Do NOT restore from backup.
  3. BEFORE restoring from the backup created via the "Backup ConfigMgr Site Server" maintenance task, manually copy and backup the srvacct folder located at the root level of the ConfigMgr 2007 install location to a location where it can be later restored.
  4. Using normal procedures restore from the backup created via the "Backup ConfigMgr Site Server" maintenance task. For more information, see the following TechNet article:
    How to Repair a Central Site : http://technet.microsoft.com/en-us/library/bb680474.aspx
  5. Once the restore of the backup is complete, rename the restored srvacct folder located at the root level of where ConfigMgr 2007 is installed.
  6. Copy the srvacct folder backed up in Step 3 to the root level of where ConfigMgr 2007 is installed.
  7. Perform a site reset on the server using the following TechNet instructions:
    How to Perform a Site Reset : http://technet.microsoft.com/en-us/library/bb694286.aspx
  8. Once the Site Reset is complete, in the ConfigMgr 2007 Admin console, navigate to "Site Management" --> <Site_Code> --> "Site Settings" --> "Client Agents". In the right hand pane, right click on "Computer Client Agent" and choose "Properties".
  9. In the "Computer Client Agent Properties" window, click on the "General" tab and examine the account being used under the "Network Access Account" section. Make sure that the account being used is noted and that the password for the account is known.
  10. Once the Network Access Account information has been confirmed, in the "Computer Client Agent Properties" window under the "General" tab, click on the "Clear" button in the "Network Access Account" section and then click on the "Apply" button. Once the information for the Network Access Account has been cleared, click on the "Set..." button under the "Network Access Account" section.
  11. In the "Windows User Account" window, enter the User name and Password for the Network Access Account as determined in Step 9, and then click on the "OK" button.
  12. In the "Computer Client Agent Properties" window, click on the "OK" button.

Note: If the above solution is being used to resolve the issue for a component other than OSD (i.e., site address accounts or database connection accounts), in Steps 8-9, navigate to the appropriate section in the ConfigMgr 2007 Admin Console (i.e., Addresses or properties of the Site Systems roles) and reset the appropriate service accounts using the same same instructions listed in Steps 10-12.

=====

The information above was published today in the following Microsoft Knowledge Base article written by Frank Rojas:

KB2509330 - OSD and Task Sequences fail after restoring a Configuration Manager 2007 Central site from backup

J.C. Hornbeck | System Center Knowledge Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials

clip_image001clip_image002


Fix: Unable to delete the OSDStateStorePath folder in an OSD Task Sequence using USMT 4.0 with Hard Links in ConfigMgr 2007

$
0
0

toolsignWhen using Hard Links for User State Migration, attempting to remove the OSDStateStorePath folder after restoring the users data in a Task Sequence may fail or appear to hang.

Note: This is in reference to the steps listed in this article: http://technet.microsoft.com/en-us/library/ee344267.aspx

The command .\%PROCESSOR_ARCHITECTURE%\usmtutils.exe /rd %OSDStateStorePath% may appear to hang unless you configure a timeout value on the Run Command Line step, and/or it may fail with one of the following errors or warnings depending on how the Task Sequence Advertisement is configured:

SMSTS.log may show one of the following errors or warnings.

Warning: This command is going to delete the following list of path(s).
Please review before continuing...
C:\UserState
Are you sure you want to proceed (Y/N)?

If you do not configure a timeout value, it will hang at this point, however, since you cannot see the prompt for user input you cannot continue.

Or, if you configure a timeout value on the Run Command Line step, you may see this error in the SMSTS.log

This operation returned because the timeout period expired. (Error: 800705B4; Source: Windows)

The amount of detail you see in the log will also depend on how you have configured the Advertisement for the Task Sequence. If the Advertisement is configured to Download content locally when needed by running the task sequence (commonly referred to as Download and run locally) then you will not see as much detail on the command line being run. However, if you select Access content directly from a distribution point when needed by the running task sequence (commonly referred to as Run from DP), then you will get more details on the command line being run, and it may show the prompt "Are you sure you want to proceed (Y/N)?" in the SMSTS.log. If you tried adding the cmd.exe /c echo Y | in front of the command and still try to use the Run from DP option, the command will fail with a Path not found error.

Cause

There are two things we are trying to overcome with this issue when running the USMTUTILS.EXE command from a ConfigMgr 2007 OS Deployment Task Sequence:

1. This command requires user input in order to delete the OSDStateStorePath folder and does not seem to support any command line switches to bypass this prompt.

2. Although we are able to use the echo command to pass the Y for yes to the command line step using cmd.exe /c echo Y | "command", this will only work if the Advertisement is configured to Download content locally when needed by running the task sequence (commonly referred to as Download and run locally). If you select Access content directly from a distribution point when needed by the running task sequence (commonly referred to as Run from DP) this step will fail. This is due to the echo command we are needed to pass, it is a built in command in the command interpreter, cmd.exe, so that is why we must specify the cmd.exe /c in the beginning of the command line, as this is not present in the package on the DP.

Resolution

Note: This will only work if the Advertisement is configured to Download content locally when needed by the running task sequence (commonly referred to as Download and run locally). If you select Access content directly from a distribution point when needed by the running task sequence (commonly referred to as Run from DP) this step will fail.  This is because  the echo command we need  to pass is a built in command in the command interpreter, cmd.exe,  We must specify the cmd.exe /c in the beginning of the command line since this is not present in the package on the DP.

NOTE: Data Loss Warning, do not select Continue on error on the Restore User Files and Settings!  It is also important to not select “Continue on error” on the Options tab, or  “Continue if some files cannot be restored” on the “Properties” tab of the “Restore User Files and Settings” task sequence step, Selecting these options will allow the next task sequence step to delete the User Files and Settings even if they are not successfully restored.

This resolution assumes you have already successfully configured and tested an OS Deployment with ConfigMgr 2007 SP2 using Hard Links with USMT 4.0 . If not, follow the steps to configure the OSDStateStorePath, OSDMigrateAdditionalCaptureOptions, and OSDMigrateAdditionalRestoreOptions variables for using Hard Links with USMT 4.0 in ConfigMgr 2007 SP2:

http://technet.microsoft.com/en-us/library/ee344267.aspx

To add a step that should successfully remove the User State folder after the User Files and Settings are restored, follow these steps:

1. In the Task Sequence Editor, after the Restore User State step, click Add, navigate to General, and then click Run Command Line action. Type the following in the Run Command Line action:

2. Type the following in the Command line field:

cmd.exe /c echo Y | ".\%PROCESSOR_ARCHITECTURE%\usmtutils.exe" /rd "%OSDStateStorePath%"

3. Select the Package check box.

4. In the Select a Package dialog box, browse to the USMT 4.0 package, and then click OK.

Although we are able to use the echo command to pass the Y for yes to the command line step using the command line step:

cmd.exe /c echo Y | ".\%PROCESSOR_ARCHITECTURE%\usmtutils.exe" /rd "%OSDStateStorePath%"

Clifton Hughes | Senior System Center Support Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials

clip_image001clip_image002

New Hotfix: Program does not run in a task sequence on a System Center Configuration Manager 2007 SP2 client if the program name contains extended ASCII characters

$
0
0

KBConsider the following scenario:

  • You create a deployment package on a Microsoft System Center Configuration Manager 2007 Service Pack 2 (SP2) site server.
  • You create a program in the package. The name of the program contains extended ASCII characters.
  • You create a task sequence, and you add an Install Software step to the task sequence.
  • You select the Install multiple applications option, and you configure the Base variable name setting to include the program that contains extended ASCII characters in the Install Software step.
  • You deploy the task sequence to a client computer.

This issue occurs because an incorrect data type is used to handle the program name that contains extended ASCII characters.

For more details and a downloadable hotfix for this issue see the following:

KB2507187 - Program does not run in a task sequence on a System Center Configuration Manager 2007 SP2 client if the program name contains extended ASCII characters

J.C. Hornbeck | System Center Knowledge Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials
The Server App-V Team blog: http: http://blogs.technet.com/b/serverappv

clip_image001clip_image002

ConfigMgr 2007 Basic User Driven Installation Task Sequence Step by Step

$
0
0

image[5]I recently encountered a question from a customer who wanted to be able to set the computer name, and also be able to have their Desktop Technicians select software to be installed during an Operating System Deployment for their upcoming Windows 7 refresh over Windows XP.  I walk you through the basics step by step to do this with a UDI Task Sequence over on the TechNet Wiki:

http://social.technet.microsoft.com/wiki/contents/articles/configmgr-2007-basic-user-driven-installation-task-sequence-step-by-step.aspx

Clifton Hughes | Support Escalation Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials
The Server App-V Team blog: http: http://blogs.technet.com/b/serverappv

clip_image001clip_image002

ConfigMgr 2007 fix: Task Sequences with a large number of steps fail to run and time out

$
0
0

ToolsI have had a couple of cases recently that involve running a task sequence from the Run Advertised Program (RAP) Control Panel applet which has a large number of software package installation steps (usually over 200).  What happens in these cases is that you will see timeout errors in the cas.log and execmgr.log on the machines in question. These errors resemble an issue where the content is not available on the Distribution Point (DP) but in each case it was reported that the task sequences could be successfully run within WinPE which indicates that this content is actually present on the DPs in question.

If you run into this specific scenario then you can change the UIContentLocationTimeoutInterval variable in the site control file from the default of 120 seconds to a value much greater such as 15-30 minutes.  The UIContentLocationTimeoutInterval variable is a property in the root\ccm\Policy\Machine namespace that has a default value of 120 seconds (2 minutes) but this may not long enough for a task sequence with a large number of software installation steps.  In these cases I have found that if I increase this to a higher value (e.g. 900 seconds or 15 minutes) then the problem no longer occurs when running this from within the RAP. 

To do this complete the following steps to edit the site control file:

1. Stop the smsexec service on the site server
2. Edit the site control file and change the following to a higher value:

PROPERTY <UI Content Location Timeout Interval><REG_DWORD><><120>

3. Restart the smsexec service and make sure you update policy on the client.
4. You can check the value on the local client using wbemtest and connecting to root\sms\policy\machine.

Once complete, the Task Sequence should now complete successfully.

For testing purposes, you can compile the following MOF file on a client to update the actual policy on a single machine. This is optional and serves only to verify that this is in fact the issue you’re encountering:

1. Open wbemtest on the machine you want to test.
2. Open the root\ccm\Policy\Machine namespace.
3. Navigate to ccm_softwareDistributionClientConfig.
4. Select UIcontentLocationTimeoutInterval
5. Select instances.
6. Double click the instances of UIcontentLocationTimeoutInterval.
7. Click Show MOF. 

This should look something like the mof.txt file attached.

8. Edit this file and change the line below to a value such as 900

UIContentLocationTimeoutInterval = 120;

9. Add the following line to the top of the mof file (see the attached file as an example)

#pragma namespace("\\\\.\\root\\ccm\\policy\\machine\\actualconfig")

10. Save this file as a .mof file and move this to the machine that you want to test.
11. Open a CMD prompt and run the following:

Mofcomp.exe mof.mof

12. Check to make sure this value has been changed in WMI using the steps outlined above.

Sample file:

Hope this helps,

Luke Ramsdale | Support Escalation Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials
The Server App-V Team blog: http: http://blogs.technet.com/b/serverappv

clip_image001clip_image002

HOTFIX: Task sequence does not run if it has lots of Install Software steps in System Center Configuration Manager 2007 SP2

$
0
0

KBWe blogged this issue a couple weeks ago but now there’s a hotfix available to resolve the issue:

=====

Consider the following scenario:

  • You create a task sequence on a Microsoft System Center Configuration Manager 2007 Service Pack 2 (SP2) site server.
  • You add lots of Install Software steps to the task sequence.  For example, you add more than 100 Install Software steps to the task sequence.
  • You create an assignment that makes the task sequence mandatory when you advertise the task sequence to a client computer.

In this scenario, the task sequence does not run on the client computer.

Note This issue does not occur if the task sequence is assigned as an optional advertisement.

CAUSE

This issue occurs because the large number of Installing Software steps in the task sequence creates a heavy workload for the location service.
When the location service has a heavy workload, it cannot process all the callbacks for the location requests in a 10-minute window. Therefore, the issue that is mentioned in the "Symptoms" section occurs.

=====

For all the details as well as a download link please see the the following Knowledge Base article:

KB2516517 - Task sequence does not run if it has lots of Install Software steps in System Center Configuration Manager 2007 SP2

J.C. Hornbeck | System Center Knowledge Engineer

The App-V Team blog: http://blogs.technet.com/appv/
The WSUS Support Team blog: http://blogs.technet.com/sus/
The SCMDM Support Team blog: http://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: http://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: http://blogs.technet.com/operationsmgr/
The SCVMM Team blog: http://blogs.technet.com/scvmm/
The MED-V Team blog: http://blogs.technet.com/medv/
The DPM Team blog: http://blogs.technet.com/dpm/
The OOB Support Team blog: http://blogs.technet.com/oob/
The Opalis Team blog: http://blogs.technet.com/opalis
The Service Manager Team blog: http: http://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: http://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: http://blogs.technet.com/b/systemcenteressentials
The Server App-V Team blog: http: http://blogs.technet.com/b/serverappv

clip_image001clip_image002

Viewing all 243 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>