Noticed today same error message shows up in all machines that running the same Task Sequence:
Process completed with exit code 4294770688,
Unknown error (Error: FFFD0000; Source: Unknown)
I have tested the same Task Sequence like hundred times, and I am sure there is not issue with the source package itself. So what went wrong? I spent about two hours figured it out, it is kind of my mistake, I would like to let everyone know about it. Don’t make the same mistake as I did!
I made a sample Task Sequence to show you what went wrong. In this Task Sequence I have only two steps.
1. Download Package Content. In this step I staged Package “Custom Scripts” (PackageID: ZIT00012) in Task sequence working directory, and save path as a variable.
2. Run PowerShell Script. In this step I run a PowerShell script what is in the same package “Custom Scripts” (PackageID: ZIT00012), so same package as in step 1.
Scenario 1 (worked, no error):
When I was testing the task sequence to my test collection, I used this setting: Deploy to machine collections with Deployment options: Download content locally when needed by the running task sequence
Scenario 2 (Process completed with exit code 4294770688, not working) :
In production, task sequence was deployed using this setting: Download all content locally before starting task sequence
Why scenario 2 failed? This is what happened:
- Download all content locally before starting task sequence. When you run the task sequence, it will first download all the packages in your task, then start to run it. In this case, it downloaded Package “Custom Script” to folder C:\Windows\ccmcache\2y before kicks off Task Sequence progress.
- After contents are downloaded, task starts, in the task step Download Package Content, package “Custom Script” is staged into Task sequence working directory, so it moved (not copy) contents from C:\Windows\ccmcache\2y to C:\_SMSTaskSequence\Packages\ZIT00012.
- Folder C:\Windows\ccmcache\2y became empty.
- Because package “Custom Script” contents were supposed to be already downloaded to folder C:\Windows\ccmcache\2y, task is not going to check it and re-download it again, so task step Run PowerShell Script tried to run a script from folder C:\Windows\ccmcache\2y.
- Step Run PowerShell Script failed, because folder C:\Windows\ccmcache\2y is empty, cannot find the source script file.
- If retry run task sequence again, it will failed again, unless your clean up client cache or fix your task sequence.
How to avoid this? There are few options that I can think of this moment:
(Read first this article written by Peter van der Woude https://www.petervanderwoude.nl/post/category/configmgr-1511/download-package-content/)
- Stage contents to Configuration Manager client cache.
- If you don’t want stage contents to Configuration Manager client cache (if contents are staged to Task sequence working directory, content folder is automatically cleaned up after task finished), then don’t use any step that will use the same package, or use variable instead.
Example: if want to run PowerShell script, don’t use Run PowerShell Script step, use Run command line instead, in my case:
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File “%CustomScripts01%\DumpVar.ps1”
- Don’t use “Download all content locally before starting task sequence”. But in many case we want workstation download all contents before starting run task sequence, no one wants to wait….
How to fix this? I have been over a week fixing this, here are my results. (Of course first need correct task sequence steps)
- Manual clean up client cache.
- Make a copy of your collection, deploy task sequence to the new collection with same settings, then remove the old collection.
Note: be careful with reporting, depends how you build your custom report, once remove the old collection, deployment history will be gone.
I have created a package to run a powershell script and seeing the same error message.
The script if ran manually on the client works fine but always fails on the task sequence.
the script name is configured as folder\scriptname.ps1 and also using a parameter -allusers -clearstart
The script is removing the default apps for windows 10 machines.
This is what i can see on the logs
The execution scope for running the powershell script is specified not to verify the signature of the scripts. This is unsafe and potentially risk running malicious scripts.
The argument ‘RemoveApps\decrapifier.ps1’ to the -File parameter does not exist. Provide the path to an existing ‘.ps1’ file as an argument to the -File parameter.
Failed to run the action: RemoveApps2.
Unknown error (Error: FFFD0000; Source: Unknown)
Am i doing anything wrong here or can you guide me on how to make it work?
Hello, how is your folder structure when create the package? I mean is your script under sub-folder of source media or root folder of source media? If the script is in the root folder of source media, use only decrapifier.ps1 instead of RemoveApps\decrapifier.ps1. For debug, don’t close the error popup message, check logs and see if you actually see the package is downloaded or not, in my post has mentioned where those packages should be stored. If you find your package files, then maybe you just got the folder structure wrong in your TS step.