Inital Commit
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
PEBuilderConfig.cmd
|
||||||
|
*.iso
|
||||||
|
*.wim
|
||||||
62
Build_WinPE-SMBInstaller.cmd
Normal file
62
Build_WinPE-SMBInstaller.cmd
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
@echo off
|
||||||
|
REM ElevationCheck
|
||||||
|
NET SESSION >nul 2>&1
|
||||||
|
IF %ERRORLEVEL% NEQ 0 (
|
||||||
|
ECHO Please run this script as administrator
|
||||||
|
PAUSE
|
||||||
|
EXIT
|
||||||
|
)
|
||||||
|
|
||||||
|
REM Buildconf
|
||||||
|
set BuildEdition=SMBInstaller
|
||||||
|
|
||||||
|
REM Setup Enviroment
|
||||||
|
REM Check if home has PEBuilderConfig if not check the current folder when no config was found quit
|
||||||
|
IF EXIST "%UserProfile%\PEBuilderConfig.cmd" (
|
||||||
|
call %UserProfile%\PEBuilderConfig.cmd
|
||||||
|
) ELSE (
|
||||||
|
IF EXIST "%~dp0\PEBuilderConfig.cmd" (
|
||||||
|
call "%~dp0\PEBuilderConfig.cmd"
|
||||||
|
) ELSE (
|
||||||
|
echo Config not found, exiting
|
||||||
|
pause
|
||||||
|
exit
|
||||||
|
)
|
||||||
|
)
|
||||||
|
call "%ADKPath%\Deployment Tools\DandISetEnv.bat"
|
||||||
|
set PEPath=C:\WinPE_%BuildEdition%
|
||||||
|
|
||||||
|
REM Prepeare PE
|
||||||
|
call copype amd64 %PEPath%
|
||||||
|
|
||||||
|
REM Mount WIM image
|
||||||
|
Dism /Mount-Image /ImageFile:"%PEPath%\media\sources\boot.wim" /index:1 /MountDir:"%PEPath%\mount"
|
||||||
|
|
||||||
|
REM Add PE-SMB Installer files
|
||||||
|
xcopy /E /I /H /Y "%~dp0Overlay" "%PEPath%\mount"
|
||||||
|
|
||||||
|
REM add WMI module
|
||||||
|
Dism /Add-Package /Image:"%PEPath%\mount" /PackagePath:"%ADKPath%\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
|
||||||
|
Dism /Add-Package /Image:"%PEPath%\mount" /PackagePath:"%ADKPath%\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab"
|
||||||
|
|
||||||
|
REM add WinPE-SecureStartup module
|
||||||
|
Dism /Add-Package /Image:"%PEPath%\mount" /PackagePath:"%ADKPath%\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureStartup.cab"
|
||||||
|
Dism /Add-Package /Image:"%PEPath%\mount" /PackagePath:"%ADKPath%\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-SecureStartup_en-us.cab"
|
||||||
|
|
||||||
|
REM Unmount WIM image
|
||||||
|
Dism /Unmount-Image /MountDir:"%PEPath%\mount" /commit
|
||||||
|
Dism /Cleanup-Mountpoints
|
||||||
|
|
||||||
|
REM Create ISO (Disabled by default)
|
||||||
|
REM call MakeWinPEMedia /ISO %PEPath% "%~dp0Winpe%ADKVersion%_%BuildEdition%.iso"
|
||||||
|
|
||||||
|
REM Copy WIM File to output folder
|
||||||
|
echo Saving %~dp0Winpe%ADKVersion%_%BuildEdition%.wim
|
||||||
|
copy %PEPath%\media\sources\boot.wim %~dp0Winpe%ADKVersion%_%BuildEdition%.wim
|
||||||
|
|
||||||
|
REM remove BuildDir
|
||||||
|
rmdir /q /s %PEPath%
|
||||||
|
|
||||||
|
REM end
|
||||||
|
echo Done
|
||||||
|
pause
|
||||||
9
IpxeConfig/MountConfigGeneric.cmd
Normal file
9
IpxeConfig/MountConfigGeneric.cmd
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
REM SMB config mount config for WinPEInstaller
|
||||||
|
set SmbServer=192.168.2.94
|
||||||
|
set SmbUser=.\installer
|
||||||
|
set SmbPassword=installer
|
||||||
|
set SmbFolder=WindowsInstallers
|
||||||
|
|
||||||
|
REM Used to add pefix to options in version menu,Keep tailing space
|
||||||
|
rem set "VersionPrefix=Windows 10 "
|
||||||
|
rem set "VersionPrefix=Windows 11 "
|
||||||
9
IpxeConfig/MountConfigW10.cmd
Normal file
9
IpxeConfig/MountConfigW10.cmd
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
REM SMB config mount config for WinPEInstaller
|
||||||
|
set SmbServer=192.168.2.94
|
||||||
|
set SmbUser=.\installer
|
||||||
|
set SmbPassword=installer
|
||||||
|
set SmbFolder=Windows10
|
||||||
|
|
||||||
|
REM Used to add pefix to options in version menu,Keep tailing space
|
||||||
|
set "VersionPrefix=Windows 10 "
|
||||||
|
rem set "VersionPrefix=Windows 11 "
|
||||||
9
IpxeConfig/MountConfigW11.cmd
Normal file
9
IpxeConfig/MountConfigW11.cmd
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
REM SMB config mount config for WinPEInstaller
|
||||||
|
set SmbServer=192.168.2.94
|
||||||
|
set SmbUser=.\installer
|
||||||
|
set SmbPassword=installer
|
||||||
|
set SmbFolder=Windows11
|
||||||
|
|
||||||
|
REM Used to add pefix to options in version menu,Keep tailing space
|
||||||
|
rem set "VersionPrefix=Windows 10 "
|
||||||
|
set "VersionPrefix=Windows 11 "
|
||||||
8
IpxeConfig/bootExample.ipxe
Normal file
8
IpxeConfig/bootExample.ipxe
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#!ipxe
|
||||||
|
#Uses iPxe WimBoot https://ipxe.org/wimboot
|
||||||
|
kernel ${Boot-Root}/loader-wimboot/wimboot
|
||||||
|
initrd ${Boot-Root}/loader-wimboot/BCD BCD
|
||||||
|
initrd ${Boot-Root}/loader-wimboot/boot.sdi boot.sdi
|
||||||
|
initrd --name MountConfig.cmd ${Boot-Root}/Tools/MountConfigGeneric.cmd MountConfig.cmd
|
||||||
|
initrd --name boot.wim ${Boot-Root}/Tools/WinPENetInstaller.wim boot.wim
|
||||||
|
boot
|
||||||
77
Overlay/SMBInstaller/InitMenu.cmd
Normal file
77
Overlay/SMBInstaller/InitMenu.cmd
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
TITLE Preparing installation
|
||||||
|
REM load config
|
||||||
|
call MountConfig.cmd
|
||||||
|
|
||||||
|
ECHO --------------------------------
|
||||||
|
ECHO Welcome to WinPE SMB installer
|
||||||
|
ECHO\
|
||||||
|
ECHO by Brammp
|
||||||
|
ECHO --------------------------------
|
||||||
|
ECHO\
|
||||||
|
|
||||||
|
echo Waiting for network
|
||||||
|
REM Load network
|
||||||
|
wpeinit
|
||||||
|
wpeinit network
|
||||||
|
REM Test network
|
||||||
|
:TestNetworkConnection
|
||||||
|
ping -n 1 %SmbServer% | find "TTL=" >nul
|
||||||
|
if errorlevel 1 (
|
||||||
|
goto Retry
|
||||||
|
) else (
|
||||||
|
goto ExecSMB
|
||||||
|
)
|
||||||
|
|
||||||
|
:Retry
|
||||||
|
ping 192.0.2.1 -n 5 -w 2000 >nul
|
||||||
|
goto :TestNetworkConnection
|
||||||
|
|
||||||
|
:ExecSMB
|
||||||
|
rem echo "Connection OK."
|
||||||
|
|
||||||
|
rem Mount network share
|
||||||
|
set SmbRetry=0
|
||||||
|
ECHO Waiting for SMB
|
||||||
|
|
||||||
|
:SmbMount
|
||||||
|
net use I: \\%SmbServer%\%SmbFolder% /user:%SmbUser% %SmbPassword% >null 2>&1
|
||||||
|
|
||||||
|
IF not exist I:\ (
|
||||||
|
|
||||||
|
set /A SmbRetry+=1 >null
|
||||||
|
REM ECHO SMB Failed Count: %SmbRetry%
|
||||||
|
REM ECHO Retrying in 2sec
|
||||||
|
ping 127.0.0.1 -n 5 -w 2000 >nul
|
||||||
|
GOTO SmbMount
|
||||||
|
) ELSE (
|
||||||
|
GOTO ExecMenu
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
:ExecMenu
|
||||||
|
rem Go to network share
|
||||||
|
i:
|
||||||
|
|
||||||
|
setlocal EnableDelayedExpansion
|
||||||
|
rem Show menu with availible Versions
|
||||||
|
ECHO Available releases:
|
||||||
|
ECHO\
|
||||||
|
set i=0
|
||||||
|
for /D %%f in ("*") do (
|
||||||
|
set /A i+=1
|
||||||
|
echo !i!. %VersionPrefix%%%f
|
||||||
|
set "option[!i!]=%%f"
|
||||||
|
)
|
||||||
|
ECHO\
|
||||||
|
:getChoice
|
||||||
|
set /P "choice=Enter desired option: "
|
||||||
|
if "!option[%choice%]!" equ "" echo ERROR: no such option & goto getChoice
|
||||||
|
set "SelectedRelease=!option[%choice%]!"
|
||||||
|
|
||||||
|
echo | set /p=%SelectedRelease%>%TEMP%\SelectedRelease.var
|
||||||
|
|
||||||
|
ECHO\
|
||||||
|
ECHO Loading setup for %VersionPrefix%%SelectedRelease%
|
||||||
|
ping 192.0.2.1 -n 2 -w 2000 >nul
|
||||||
|
exit
|
||||||
20
Overlay/SMBInstaller/LoadSetup.cmd
Normal file
20
Overlay/SMBInstaller/LoadSetup.cmd
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
TITLE Loading windows setup
|
||||||
|
REM load needed var(s)
|
||||||
|
set /p SelectedRelease=<%TEMP%\SelectedRelease.var
|
||||||
|
|
||||||
|
set SetupFound=FALSE
|
||||||
|
REM go to setUp location
|
||||||
|
I:
|
||||||
|
cd \%SelectedRelease%
|
||||||
|
|
||||||
|
REM Check if setup exists
|
||||||
|
IF exist setup.exe (
|
||||||
|
set SetupFound=TRUE
|
||||||
|
REM load setUp
|
||||||
|
start /wait setup.exe
|
||||||
|
)
|
||||||
|
|
||||||
|
echo | set /p=%SetupFound%>%TEMP%\SetupFound.var
|
||||||
|
|
||||||
|
REM exit
|
||||||
24
Overlay/SMBInstaller/PowerMenu.cmd
Normal file
24
Overlay/SMBInstaller/PowerMenu.cmd
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
TITLE Power menu
|
||||||
|
REM load needed var(s)
|
||||||
|
set /p SetupFound=<%TEMP%\SetupFound.var
|
||||||
|
|
||||||
|
IF %SetupFound% == FALSE (
|
||||||
|
echo Setup not found
|
||||||
|
pause
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
:PowerMenu
|
||||||
|
ECHO\
|
||||||
|
ECHO ...............................................
|
||||||
|
ECHO PRESS 1 to poweroff, or 2 to reboot
|
||||||
|
ECHO ...............................................
|
||||||
|
ECHO\
|
||||||
|
ECHO 1 - Poweroff
|
||||||
|
ECHO 2 - Reboot
|
||||||
|
ECHO\
|
||||||
|
SET /P M=Type 1 or 2 then press ENTER:
|
||||||
|
IF %M%==1 wpeutil shutdown
|
||||||
|
IF %M%==2 wpeutil reboot
|
||||||
|
GOTO PowerMenu
|
||||||
4
Overlay/Windows/System32/Winpeshl.ini
Normal file
4
Overlay/Windows/System32/Winpeshl.ini
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[LaunchApps]
|
||||||
|
X:/SMBInstaller/InitMenu.cmd
|
||||||
|
X:/SMBInstaller/LoadSetup.cmd
|
||||||
|
X:/SMBInstaller/PowerMenu.cmd
|
||||||
2
PEBuilderConfig.cmd.example
Normal file
2
PEBuilderConfig.cmd.example
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
set ADKPath=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit
|
||||||
|
set ADKVersion=W10
|
||||||
Reference in New Issue
Block a user