Fix foreach parallel when current drive is not available #12197
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Summary
This PR addresses issue #12194, and fixes a terminating error that is thrown if the current directory is not in a default system drive.
PR Context
Currently we don't initialize a loop iteration runspace with the current runspace state that is running the ForEach-Object command. So if the current directory is in a temporary PowerShell drive a terminating error is thrown because the drive cannot be found, and the ForEach-Object command fails.
Fix is to catch this error and allow the ForEach-Object command to continue. We can look at initializing loop iteration runspaces as a new feature in the future.
PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright headerWIP:or[ WIP ]to the beginning of the title (theWIPbot will keep its status check atPendingwhile the prefix is present) and remove the prefix when the PR is ready.