FriendsOfMDT / PSD

PowerShell Deployment
MIT License
525 stars 83 forks source link

Failing to find OS #115

Closed MiketheMaker18 closed 10 months ago

MiketheMaker18 commented 11 months ago

Hello! I'm very familiar with MDT but am getting stuck with the TS finding the OS. To preface, I intend to use this like a standard MDT deployment share using PXE (No IIS). Is this possible?

Here's a few screenshots: image image

I've tried to read through all documentation and past issues, so I apologize in advance if this is covered somewhere. Any help is much appreciated!

GeoSimos commented 11 months ago

Please check the documentation, we don't support UNC paths for the deployment shares, the error you see comes from the fact that the files could not be staged on the cache folder of your disk, thus they are not accessible. You have to setup the solution properly, especially the IIS part of it.

feanturi23 commented 10 months ago

UNC is explicitly recognized in the scripts, but it can't copy the OS to the cache due to a bug which I've fixed in mine. I can deploy an OS via UNC after fixing the PSDUtility.psm1 file in the Copy-PSDFolder function. The issue is that it is passing the $s and $d values to xcopy without wrapping the strings in double-quotes, which works ok to start the TS since the first 3 folders it needs to cache do not contain spaces in the folder name. But "Operating Systems" breaks this because xcopy just sees "Systems\whateverfolder" as the second argument.

To fix, I just added '"' in front and back of the two strings. So original is this:

$s = $source.TrimEnd("\")

and I changed it to:

$s = '"' + $source.TrimEnd("\") + '"'

and of course did the same to the destination string immediately below it. Works fine for me now.

GeoSimos commented 10 months ago

UNC is explicitly recognized in the scripts, but it can't copy the OS to the cache due to a bug which I've fixed in mine. I can deploy an OS via UNC after fixing the PSDUtility.psm1 file in the Copy-PSDFolder function. The issue is that it is passing the $s and $d values to xcopy without wrapping the strings in double-quotes, which works ok to start the TS since the first 3 folders it needs to cache do not contain spaces in the folder name. But "Operating Systems" breaks this because xcopy just sees "Systems\whateverfolder" as the second argument.

To fix, I just added '"' in front and back of the two strings. So original is this:

$s = $source.TrimEnd("\")

and I changed it to:

$s = '"' + $source.TrimEnd("\") + '"'

and of course did the same to the destination string immediately below it. Works fine for me now.

That's very nice, thank you for sharing, however it must be stated that this is not the supported way and how the solution was designed to work. True, it can support UNC paths for Deployment Shares but that was in the early days of PSD, things have changed and the direction moved to the "Image from anywhere" notion, UNC is not accessible from anywhere, thus it is not included in the solution anymore.