Share via


Error "The specified path is invalid." when deploy task sequence on a bare machine without disk

Question

Tuesday, June 19, 2012 6:33 AM

I tried to deploy a task sequence to a bare machine (without disk) to do some BIOS configuration, but it failed with error "The specified path is invalid. (Error: 800700A1; Source: Windows)" in smsts.log. I also tried the same task sequence on another machine with formatted disk, the task sequence works well, I found the related package was copied to local folder "C:\SMSTaskSequence\Packages\. Looks the error  "The specified path is invalid." is because there is no available disk.

Here is my questions:

  1. It looks the client's disk must be formatted and partitioned before running OSD task sequence. Is it true?
  2. If question-1 is true, how can I do the actions (e.g. config the RAID) on a bare machine via task sequence?
  3. Why the package is copied to folder "C:\ ...", but not copied to winpe folder "X:\ ..."?

Thanks.

All replies (8)

Tuesday, June 19, 2012 1:22 PM ✅Answered

"Access content directly from ..." will only be a available in CM12 if you selected "Copy the content in this package to a papckage share on distribution points" (package properties, Data Access tab).
Your TS should also work in CM12 (see the package option above).

Torsten Meringer | http://www.mssccmfaq.de


Tuesday, June 19, 2012 10:02 PM ✅Answered

I think you are not looking at the real error. There are a number of log lines that will mention the word 'error' or 'fail' but they don't really affect the task sequence execution.

I you post the complete TS log, we might be able to figure out the problem.

As for your questions:

1. No, it is not necessary to have the disk partitioned before starting the task sequence. The task sequence can have a step to partition and format disks.

2. I assume that you have some custom programs or scripts to configure your RAID. You can run those as a command-line step. Since you don't have a drive yet at that time, you should configure the deployment to use the packages directly from the DP instead of downloading them. For that, you also need to mark your packages appropriately so that they are accessible as SMB shares and not just HTTP URLs.

3. For downloaded packages, they are placed on whatever physical drive is available. That is why, the first step in a task sequence is usually to partition and format drives. Drive X is not a physical drive. It is a RAM disk which has very little space.


Tuesday, June 19, 2012 6:44 AM

How does your task sequence look like? Have you used a predefined one? Where have you added the custom steps? An OSD TS can be used to deploy an OS to bare metal machines even without the disk being formatted. It's just a matter of the steps being used.

Torsten Meringer | http://www.mssccmfaq.de


Tuesday, June 19, 2012 1:08 PM

The task sequence is really simple, like below:



Here the "SetBios.bat" and related tools are included in package "Package_BIOS_Tools". If the target machine has the formatted disk, the task sequence works well, we can find log "download file from ... to C:\SMSTaskSequence\Packages\.." in smsts.log. But if the target machine does not have formatted disk, smsts.log reports error "The specified path is invalid...". 

Another thing is that the error only occurs on SCCM 2012. On SCCM2007, if I choose option "Access content directly from ...", as below picture, the task sequence can work on bare machine without disk.

I can not find this option in SCCM 2012...

Thanks!


Tuesday, June 19, 2012 1:58 PM

Torsten, thanks for your help.

In SCCM2012, I select "Copy the content in this package to a papckage share on distribution points" for package "Package_BIOS_Tools", but in the task sequence deploy wizard, I still only find one option "Download content locally when needed by running task sequence", no option "Access content directly from...".

Package properties:

Deploy wizard for task sequence, (here the checkbox "Make available to boot media or PXE" is selected):

Is there anything I missed? Thanks!


Tuesday, June 19, 2012 8:18 PM | 1 vote

1 Is true, if you don't have a valid partition you can't store content on it. To get around this just do a format TS step as your first job, set it to use 100% of space and tick quick format then it should work fine.


Wednesday, June 20, 2012 2:11 AM

As what Kerwin said:
"Since you don't have a drive yet at that time, you should configure the deployment to use the packages directly from the DP instead of downloading them. For that, you also need to mark your packages appropriately so that they are accessible as SMB shares and not just HTTP URLs."

Could anyone tell me how to config the package properties or the task sequence deploy wizard to make the deployment use the packages directly from the DP instead of downloading them? I can find only one option "Download content locally when needed by running task sequence" in the deploy wizard... Is there any other I need to config?

Thanks.

Below is the part logs:

#############################################

<![LOG[Setting message signatures.]LOG]!><time="10:49:37.815+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1292">
<![LOG[Setting the authenticator.]LOG]!><time="10:49:37.815+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1322">
<![LOG[CLibSMSMessageWinHttpTransport::Send: URL: WIN-F2KIAKR0DGD.SCCM12RC2.com:80  CCM_POST /ccm_system/request]LOG]!><time="10:49:37.815+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:8422">
<![LOG[Request was succesful.]LOG]!><time="10:49:37.830+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:8758">
<![LOG[MP server http://WIN-F2KIAKR0DGD.SCCM12RC2.com. Ports 80,443. CRL=false.]LOG]!><time="10:49:37.830+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="utils.cpp:4855">
<![LOG[Setting authenticator]LOG]!><time="10:49:37.846+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="utils.cpp:4877">
<![LOG[Set authenticator in transport]LOG]!><time="10:49:37.846+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:7592">
<![LOG[Sending StatusMessage]LOG]!><time="10:49:37.862+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:4020">
<![LOG[Setting message signatures.]LOG]!><time="10:49:37.877+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1292">
<![LOG[Setting the authenticator.]LOG]!><time="10:49:37.877+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1322">
<![LOG[CLibSMSMessageWinHttpTransport::Send: URL: WIN-F2KIAKR0DGD.SCCM12RC2.com:80  CCM_POST /ccm_system/request]LOG]!><time="10:49:37.877+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:8422">
<![LOG[Request was succesful.]LOG]!><time="10:49:37.893+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:8758">
<![LOG[Start executing an instruciton. Instruction name: Set BIOS. Instruction pointer: 0]LOG]!><time="10:49:37.893+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="engine.cxx:117">
<![LOG[Set a global environment variable _SMSTSCurrentActionName=Set BIOS]LOG]!><time="10:49:37.893+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:668">
<![LOG[Set a global environment variable _SMSTSNextInstructionPointer=0]LOG]!><time="10:49:37.893+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:668">
<![LOG[Set a local default variable SMSTSDisableWow64Redirection]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:700">
<![LOG[Set a local default variable _SMSTSRunCommandLineAsUser]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:700">
<![LOG[Set a global environment variable _SMSTSLogPath=X:\WINDOWS\TEMP\SMSTSLog]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:668">
<![LOG[Expand a string: smsswd.exe /run:RTM000E0 setbios.bat]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:782">
<![LOG[Expand a string: ]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:782">
<![LOG[Command line for extension .exe is "%1" %*]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="commandline.cpp:228">
<![LOG[Set command line: smsswd.exe /run:RTM000E0 setbios.bat]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="commandline.cpp:705">
<![LOG[Start executing the command line: smsswd.exe /run:RTM000E0 setbios.bat]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="instruction.cxx:2929">
<![LOG[!!]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="instruction.cxx:2958">
<![LOG[Expand a string: WinPEandFullOS]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:782">
<![LOG[Executing command line: smsswd.exe /run:RTM000E0 setbios.bat]LOG]!><time="10:49:37.924+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="commandline.cpp:801">
<![LOG[[ smsswd.exe ]]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="1" thread="1316" file="main.cpp:289">
<![LOG[PackageID = 'RTM000E0']LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="1" thread="1316" file="main.cpp:318">
<![LOG[BaseVar = '', ContinueOnError='']LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="1" thread="1316" file="main.cpp:319">
<![LOG[ProgramName = 'setbios.bat']LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="1" thread="1316" file="main.cpp:320">
<![LOG[SwdAction = '0001']LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="1" thread="1316" file="main.cpp:321">
<![LOG[DownloadOnDemand flag is true. Attempting to download content locally for Package RTM000E0..]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="1" thread="1316" file="resolvesource.cpp:3216">
<![LOG[nPos != String::npos, HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\core\ccmcore\path.cpp,101)]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="0" thread="1316" file="path.cpp:101">
<![LOG[RecursiveCreatePath(sPath.substr(0, nPos), psa), HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\core\ccmcore\path.cpp,104)]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="0" thread="1316" file="path.cpp:104">
<![LOG[RecursiveCreatePath(sPath.substr(0, nPos), psa), HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\core\ccmcore\path.cpp,104)]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="0" thread="1316" file="path.cpp:104">
<![LOG[RecursiveCreatePath( sNormalizedPath, psa ), HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\core\ccmcore\path.cpp,159)]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="0" thread="1316" file="path.cpp:159">
<![LOG[DownloadContentLocally(pszSource, sSourceDirectory, dwFlags, hUserToken, pszUserName, pszUserPassword), HRESULT=800700a1 (e:\nts_sccm_release\sms\framework\tscore\resolvesource.cpp,3217)]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="0" thread="1316" file="resolvesource.cpp:3217">
<![LOG[TS::Utility::ResolveSource(pszPkgID, sPath, 0, hUserToken, sUserName.empty() ? NULL : sUserName.c_str(), sUserName.empty() ? NULL : sUserPassword.c_str()), HRESULT=800700a1 (e:\nts_sccm_release\sms\client\osdeployment\installsoftware\runcommandline.cpp,395)]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="0" thread="1316" file="runcommandline.cpp:395">
<![LOG[Failed to resolve the source for SMS PKGID=RTM000E0, hr=0x800700a1]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="3" thread="1316" file="runcommandline.cpp:395">
<![LOG[cmd.Execute(pszPkgID, sProgramName, dwCmdLineExitCode), HRESULT=800700a1 (e:\nts_sccm_release\sms\client\osdeployment\installsoftware\main.cpp,372)]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="0" thread="1316" file="main.cpp:372">
<![LOG[Install Software failed to run command line, hr=0x800700a1]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="InstallSoftware" context="" type="3" thread="1316" file="main.cpp:372">
<![LOG[Process completed with exit code 2147942561]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="commandline.cpp:1098">
<![LOG[!!]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="instruction.cxx:3011">
<![LOG[Failed to run the action: Set BIOS. 
The specified path is invalid. (Error: 800700A1; Source: Windows)]LOG]!><time="10:49:37.971+420" date="06-20-2012" component="TSManager" context="" type="3" thread="1232" file="instruction.cxx:3102">
<![LOG[MP server http://WIN-F2KIAKR0DGD.SCCM12RC2.com. Ports 80,443. CRL=false.]LOG]!><time="10:49:37.987+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="utils.cpp:4855">
<![LOG[Setting authenticator]LOG]!><time="10:49:38.002+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="utils.cpp:4877">
<![LOG[Set authenticator in transport]LOG]!><time="10:49:38.002+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:7592">
<![LOG[Sending StatusMessage]LOG]!><time="10:49:38.018+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:4020">
<![LOG[Setting message signatures.]LOG]!><time="10:49:38.018+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1292">
<![LOG[Setting the authenticator.]LOG]!><time="10:49:38.018+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1322">
<![LOG[CLibSMSMessageWinHttpTransport::Send: URL: WIN-F2KIAKR0DGD.SCCM12RC2.com:80  CCM_POST /ccm_system/request]LOG]!><time="10:49:38.018+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:8422">
<![LOG[Request was succesful.]LOG]!><time="10:49:38.034+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:8758">
<![LOG[Set a global environment variable _SMSTSLastActionRetCode=-2147024735]LOG]!><time="10:49:38.034+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:668">
<![LOG[Set a global environment variable _SMSTSLastActionSucceeded=false]LOG]!><time="10:49:38.034+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:668">
<![LOG[Clear local default environment]LOG]!><time="10:49:38.034+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="executionenv.cxx:807">
<![LOG[Failed to run the action: Set BIOS. Execution has been aborted]LOG]!><time="10:49:38.049+420" date="06-20-2012" component="TSManager" context="" type="3" thread="1232" file="instruction.cxx:3190">
<![LOG[MP server http://WIN-F2KIAKR0DGD.SCCM12RC2.com. Ports 80,443. CRL=false.]LOG]!><time="10:49:38.049+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="utils.cpp:4855">
<![LOG[Setting authenticator]LOG]!><time="10:49:38.065+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="utils.cpp:4877">
<![LOG[Set authenticator in transport]LOG]!><time="10:49:38.065+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:7592">
<![LOG[Sending StatusMessage]LOG]!><time="10:49:38.080+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:4020">
<![LOG[Setting message signatures.]LOG]!><time="10:49:38.080+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1292">
<![LOG[Setting the authenticator.]LOG]!><time="10:49:38.096+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1322">
<![LOG[CLibSMSMessageWinHttpTransport::Send: URL: WIN-F2KIAKR0DGD.SCCM12RC2.com:80  CCM_POST /ccm_system/request]LOG]!><time="10:49:38.096+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:8422">
<![LOG[Request was succesful.]LOG]!><time="10:49:38.112+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:8758">
<![LOG[Failed to run the last action: Set BIOS. Execution of task sequence failed.
The specified path is invalid. (Error: 800700A1; Source: Windows)]LOG]!><time="10:49:38.112+420" date="06-20-2012" component="TSManager" context="" type="3" thread="1232" file="engine.cxx:214">
<![LOG[MP server http://WIN-F2KIAKR0DGD.SCCM12RC2.com. Ports 80,443. CRL=false.]LOG]!><time="10:49:38.112+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="utils.cpp:4855">
<![LOG[Setting authenticator]LOG]!><time="10:49:38.127+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="utils.cpp:4877">
<![LOG[Set authenticator in transport]LOG]!><time="10:49:38.127+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:7592">
<![LOG[Sending StatusMessage]LOG]!><time="10:49:38.143+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:4020">
<![LOG[Setting message signatures.]LOG]!><time="10:49:38.143+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1292">
<![LOG[Setting the authenticator.]LOG]!><time="10:49:38.143+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:1322">
<![LOG[CLibSMSMessageWinHttpTransport::Send: URL: WIN-F2KIAKR0DGD.SCCM12RC2.com:80  CCM_POST /ccm_system/request]LOG]!><time="10:49:38.143+420" date="06-20-2012" component="TSManager" context="" type="1" thread="1232" file="libsmsmessaging.cpp:8422">
<![LOG[Request was succesful.]LOG]!><time="10:49:38.159+420" date="06-20-2012" component="TSManager" context="" type="0" thread="1232" file="libsmsmessaging.cpp:8758">


Wednesday, June 20, 2012 6:46 AM

It looks the reason is that I did not select "Copy the content in this package to a papckage share on distribution points" on the boot image which is used in the task sequence. This option should be selected on all packages (including boot image) in the task sequence, then we can find the option "Access content directly from a DP..." in the deploy wizard, this option can support the task sequence to work on a bare machine without formatted disk.

Thanks you all.

But I still have two questions:

1) why the boot image should be selected as  "Copy the content in this package to a papckage share on distribution points" ? Any way, the boot image must be downloaded to client system...

2) some time we want to put all tasks (including RAID config, disk format, OS image deploy, driver deploy and others) into one task sequence, actually there is only the RAID config task needs to run from DP directly because the local disk is not ready at that time.  But in SCCM2012, we must select option  "Copy the content in this package to a papckage share on distribution points" on all related packages (for RAID, OS image, driver and others) to enable the option "Access content directly from a DP..." in the deploy wizard. Does it make sense?