From 82accc9aa6f694697c355980bcac8a229c49c4d2 Mon Sep 17 00:00:00 2001 From: Aaron Kenah Date: Fri, 17 Dec 2021 23:27:03 +1100 Subject: [PATCH 1/3] Update USB device detection to be based on the device which the invoked script is hosted on. This removes the requirement for the Get-USBDeviceId Function which assumes that the USB device is device[0] if multiple devices exist... There's also some selfish changes in here that enable the capability to run from a VHD file as initially referenced in your videos. --- .vs/slnx.sqlite | Bin 0 -> 90112 bytes Invoke-Provision/Invoke-Provision.ps1 | 21 +++------------------ 2 files changed, 3 insertions(+), 18 deletions(-) create mode 100644 .vs/slnx.sqlite diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..3a570b159b0728498cb1e2814950b281f297d1a4 GIT binary patch literal 90112 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 literal 0 HcmV?d00001 diff --git a/Invoke-Provision/Invoke-Provision.ps1 b/Invoke-Provision/Invoke-Provision.ps1 index 622a960..90d7892 100644 --- a/Invoke-Provision/Invoke-Provision.ps1 +++ b/Invoke-Provision/Invoke-Provision.ps1 @@ -145,24 +145,9 @@ exit throw $_ } } -function Get-USBDeviceId { - try { - $USBDrives = $drives | ?{ $_.BusType -eq "USB"} - if (@($USBDrives).count -eq 1) { - $USBDrive = $USBDrives[0].DeviceId - return $USBDrive - } - else { - throw "Error while getting DeviceId of USB Stick. No additional USB storage devices must be attached" - } - } - catch { - throw $_ - } -} function Get-SystemDeviceId { try { - $dataDrives = $drives | ?{ $_.BusType -ne "USB"} + $dataDrives = $drives | ?{ ($_.BusType -ne "USB") -and ($_.DeviceId -ne $USBDrive)} if (@($DataDrives).count -eq 1) { $targetDrive = $DataDrives[0].DeviceId return $targetDrive @@ -464,7 +449,8 @@ try { #endregion #region Configure drive partitions Write-Host "`nConfiguring drive partitions.." -ForegroundColor Yellow - $drives = @(Get-PhysicalDisk) + $USBDrive = (Get-Partition -DriveLetter "$((Get-Item -Path $MyInvocation.MyCommand.Path).PSDrive)" | Get-Disk).Number + $drives = @(Get-PhysicalDisk | ? {$_.DeviceId -ne $USBDrive}) $targetDrive = Get-SystemDeviceId Set-DrivePartition -winPEDrive $usb.winPEDrive -targetDrive $targetDrive #endregion @@ -547,7 +533,6 @@ catch { } finally { $sw.stop() - $USBDrive = Get-USBDeviceId if ($exitEarly) { $errorMsg = $null } From e13e125722ac3e8d9df5dfe3986e4fc8bf54b3d4 Mon Sep 17 00:00:00 2001 From: Aaron Kenah Date: Fri, 17 Dec 2021 23:29:34 +1100 Subject: [PATCH 2/3] Remove that piece of redundant code as we've already applied that filter at line 453 --- .vs/Intune.USB.Creator/v16/.suo | Bin 0 -> 7680 bytes Invoke-Provision/Invoke-Provision.ps1 | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 .vs/Intune.USB.Creator/v16/.suo diff --git a/.vs/Intune.USB.Creator/v16/.suo b/.vs/Intune.USB.Creator/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..caa40f865519009172f8189b9112c685cc8fdb23 GIT binary patch literal 7680 zcmeHLOK%)S5H2SKNC=PcFc11ZdJt!Yb>W_&$h%(#mZftC@`8XKGBRWJY@DJun`yJ8$ za|NcPf~z5YGA65d*5n35S(|$0L`%%;bWHXO9a$ZjwB>Z<4_f9h;~%8`x&L>gpTGO# z$KqeV_MD{9sYvpDcw9w3mUrQOb103;r`?9w@~&5o_3U>2U&Samz7!?+#I4FQW>Aw5 zJdIfJz+o)c>CwLj{D&~uN<84Cd;*kZS%m)N`4sXfT56qu<96cThw=$9*I@^7^|}xD zFL-c+lC|R)JPSAu&-@3#j8igA#W|k_KODCw{f?f8dj&?|@fBHuKYH-BrIh!<&>D0O z{zq40OmihPy2uL9 zG^B)C@q7%`y*aDFIR4LIEM5GkA^TMvf1?^lv3EI;G>oNQk843hcxasjR%SIi9-*eD3kpP5Xx!wFVzt zfEDO(4I!Q%`{M`j0!9bdroI`aE%-e=D|nuA4VrH{m(u#DHJ`vt7=`l+F$4eSiMWbd zfViYDGD=#bU;y@i6i_^$bn$uCalasS!=F|2XbAVH@}}b`F z@vj1d`^_XW6F#{P?PTx4{`CDM|LLZG3AU#{RIu)EWBn_rSLMAHI}8Dz`2u5Fcm3&l zI_satp8+~|D(;2Vln-G4-F5r{eiNVN{Sx&~Xuo6arGJ9W=WhEaIbQmiAA z<$KyJkz>r!hgg3c&nLk2>8HTGV75Pl=d<9m;OD^Sz~{lq7<|5n`UUVy;C}GS;8(zj z3`CCT9*i62!gEP zl+0(>lnGRZMnI;Q!WqW*W(VZ>R=57wq3A|Fq;ny$MOTiGxK>PEPKA^JHG4tPSPPl z(C?5ncZra-^g9?(IvU@1=EBhP3@2~7hU0k!!_5@}qu}_VoeM12E_>^=QKx?ke8;_r zl(yv+)aeuNn9_O~oAvIc)?OyZzZb+@d;;fcbh1T%9cnn`c+w_cAR=!;f3Cnqad5vW zMX`|)jY%H$F|ovu5mnBjWZ@cxk_M#su80zqDS}H}M z;1HE`QQfz{@jHTh|B-9Q(ROgIz5Rl>wU%U1uE`Z-M9k9bC>N2RF;`oaODb#hkVRg@ z8)k3J^F!45kE@Cn%Ja_~{f+r$1|vg& zL`LOpmb?l1D4!j|SL-Pt>1j|zuPQv7bMk<98RPgUEu%bxS*_qLOXJX>Szm)pL%nk) z2k*D#BRuo!$|4prO8;(}Wn=)oY#CB0RsAJ%I9gHxA2 ze9JQ8EzFenZo~-x=@8o>`jY=%TZ8{j97N|+H{0mE`*Y#Wt<#^~`0~!@3%AbqPW_ literal 0 HcmV?d00001 diff --git a/Invoke-Provision/Invoke-Provision.ps1 b/Invoke-Provision/Invoke-Provision.ps1 index 90d7892..1b7fdca 100644 --- a/Invoke-Provision/Invoke-Provision.ps1 +++ b/Invoke-Provision/Invoke-Provision.ps1 @@ -147,7 +147,7 @@ exit } function Get-SystemDeviceId { try { - $dataDrives = $drives | ?{ ($_.BusType -ne "USB") -and ($_.DeviceId -ne $USBDrive)} + $dataDrives = $drives | ?{ $_.BusType -ne "USB"} if (@($DataDrives).count -eq 1) { $targetDrive = $DataDrives[0].DeviceId return $targetDrive From 1d1b12f98d29e05e97c875059519ba941c8dc048 Mon Sep 17 00:00:00 2001 From: Aaron Kenah Date: Fri, 17 Dec 2021 23:34:21 +1100 Subject: [PATCH 3/3] Update Gitignore file --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index af71fd2..47e60ae 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ bin *.nuspec *.zip localenv.ps1 -!module.nuspec \ No newline at end of file +!module.nuspec +*.sqlite +*.suo +*.gitignore \ No newline at end of file