mirror of
https://github.com/dockur/windows.git
synced 2025-08-15 08:23:26 +01:00
Compare commits
No commits in common. "master" and "v4.21" have entirely different histories.
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "windows",
|
|
||||||
"service": "windows",
|
|
||||||
"forwardPorts": [8006],
|
|
||||||
"dockerComposeFile": "compose.yml"
|
|
||||||
}
|
|
2
.github/ISSUE_TEMPLATE/1-issue.yml
vendored
2
.github/ISSUE_TEMPLATE/1-issue.yml
vendored
@ -21,7 +21,6 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Docker compose
|
label: Docker compose
|
||||||
description: The compose file (or otherwise the `docker run` command used).
|
description: The compose file (or otherwise the `docker run` command used).
|
||||||
render: yaml
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
@ -29,7 +28,6 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Docker log
|
label: Docker log
|
||||||
description: The logfile of the container (as shown by `docker logs windows`).
|
description: The logfile of the container (as shown by `docker logs windows`).
|
||||||
render: shell
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
|
2
.github/ISSUE_TEMPLATE/3-bug.yml
vendored
2
.github/ISSUE_TEMPLATE/3-bug.yml
vendored
@ -23,7 +23,6 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Docker compose
|
label: Docker compose
|
||||||
description: The compose file (or otherwise the `docker run` command used).
|
description: The compose file (or otherwise the `docker run` command used).
|
||||||
render: yaml
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
@ -31,7 +30,6 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Docker log
|
label: Docker log
|
||||||
description: The logfile of the container (as shown by `docker logs windows`).
|
description: The logfile of the container (as shown by `docker logs windows`).
|
||||||
render: shell
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
|
17
Dockerfile
17
Dockerfile
@ -1,7 +1,7 @@
|
|||||||
ARG VERSION_ARG="latest"
|
ARG VERSION_ARG="latest"
|
||||||
FROM scratch AS build-amd64
|
FROM scratch AS build-amd64
|
||||||
|
|
||||||
COPY --from=qemux/qemu:7.12 / /
|
COPY --from=qemux/qemu:6.22 / /
|
||||||
|
|
||||||
ARG DEBCONF_NOWARNINGS="yes"
|
ARG DEBCONF_NOWARNINGS="yes"
|
||||||
ARG DEBIAN_FRONTEND="noninteractive"
|
ARG DEBIAN_FRONTEND="noninteractive"
|
||||||
@ -10,21 +10,26 @@ ARG DEBCONF_NONINTERACTIVE_SEEN="true"
|
|||||||
RUN set -eu && \
|
RUN set -eu && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get --no-install-recommends -y install \
|
apt-get --no-install-recommends -y install \
|
||||||
|
bc \
|
||||||
|
jq \
|
||||||
|
curl \
|
||||||
|
7zip \
|
||||||
|
wsdd \
|
||||||
samba \
|
samba \
|
||||||
|
xz-utils \
|
||||||
wimtools \
|
wimtools \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
cabextract \
|
cabextract \
|
||||||
|
genisoimage \
|
||||||
libxml2-utils \
|
libxml2-utils \
|
||||||
libarchive-tools \
|
libarchive-tools && \
|
||||||
netcat-openbsd && \
|
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
COPY --chmod=755 ./src /run/
|
COPY --chmod=755 ./src /run/
|
||||||
COPY --chmod=755 ./assets /run/assets
|
COPY --chmod=755 ./assets /run/assets
|
||||||
|
|
||||||
ADD --chmod=755 https://raw.githubusercontent.com/christgau/wsdd/refs/tags/v0.9/src/wsdd.py /usr/sbin/wsdd
|
ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.45-0/virtio-win-1.9.45.tar.xz /drivers.txz
|
||||||
ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.47-0/virtio-win-1.9.47.tar.xz /var/drivers.txz
|
|
||||||
|
|
||||||
FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64
|
FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64
|
||||||
FROM build-${TARGETARCH}
|
FROM build-${TARGETARCH}
|
||||||
@ -33,7 +38,7 @@ ARG VERSION_ARG="0.00"
|
|||||||
RUN echo "$VERSION_ARG" > /run/version
|
RUN echo "$VERSION_ARG" > /run/version
|
||||||
|
|
||||||
VOLUME /storage
|
VOLUME /storage
|
||||||
EXPOSE 3389 8006
|
EXPOSE 8006 3389
|
||||||
|
|
||||||
ENV VERSION="11"
|
ENV VERSION="11"
|
||||||
ENV RAM_SIZE="4G"
|
ENV RAM_SIZE="4G"
|
||||||
|
@ -323,6 +323,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -410,11 +415,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -326,6 +326,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -413,11 +418,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -332,6 +332,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -419,11 +424,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -329,6 +329,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -416,11 +421,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -326,6 +326,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -413,11 +418,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -351,6 +351,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
<Description>Disable SMB signing requirement</Description>
|
<Description>Disable SMB signing requirement</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>3</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>4</Order>
|
<Order>4</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -448,11 +453,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>23</Order>
|
<Order>23</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>24</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -354,6 +354,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
<Description>Disable SMB signing requirement</Description>
|
<Description>Disable SMB signing requirement</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>3</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>4</Order>
|
<Order>4</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -451,11 +456,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>23</Order>
|
<Order>23</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>24</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -354,6 +354,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
<Description>Disable SMB signing requirement</Description>
|
<Description>Disable SMB signing requirement</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>3</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>4</Order>
|
<Order>4</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -451,11 +456,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>23</Order>
|
<Order>23</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>24</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -354,6 +354,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
<Description>Disable SMB signing requirement</Description>
|
<Description>Disable SMB signing requirement</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>3</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>4</Order>
|
<Order>4</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -451,11 +456,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>23</Order>
|
<Order>23</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>24</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -354,6 +354,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
<Description>Disable SMB signing requirement</Description>
|
<Description>Disable SMB signing requirement</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>3</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>4</Order>
|
<Order>4</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -451,11 +456,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>23</Order>
|
<Order>23</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>24</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -203,6 +203,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -285,11 +290,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>19</Order>
|
<Order>19</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>20</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -206,6 +206,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -288,11 +293,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>19</Order>
|
<Order>19</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>20</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -236,6 +236,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -303,11 +308,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>16</Order>
|
<Order>16</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>17</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -239,6 +239,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -306,11 +311,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>16</Order>
|
<Order>16</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>17</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -236,6 +236,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -323,11 +328,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -239,6 +239,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -326,11 +331,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -240,6 +240,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -327,11 +332,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -159,11 +159,6 @@
|
|||||||
<Path>reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f</Path>
|
<Path>reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\FirstNetwork" /v Category /t REG_DWORD /d 1 /f</Path>
|
||||||
<Description>Set Network Location to Home</Description>
|
<Description>Set Network Location to Home</Description>
|
||||||
</RunSynchronousCommand>
|
</RunSynchronousCommand>
|
||||||
<RunSynchronousCommand wcm:action="add">
|
|
||||||
<Order>2</Order>
|
|
||||||
<Path>dism.exe /online /Disable-Feature /FeatureName:Microsoft-Hyper-V /NoRestart</Path>
|
|
||||||
<Description>Disable Hyper-V role</Description>
|
|
||||||
</RunSynchronousCommand>
|
|
||||||
</RunSynchronous>
|
</RunSynchronous>
|
||||||
</component>
|
</component>
|
||||||
<component name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
|
<component name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
|
||||||
@ -245,6 +240,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -332,11 +332,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -243,6 +243,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -330,11 +335,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -240,6 +240,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -327,11 +332,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -243,6 +243,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -330,11 +335,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>20</Order>
|
<Order>20</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>21</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -250,6 +250,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
<Description>Disable SMB signing requirement</Description>
|
<Description>Disable SMB signing requirement</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>3</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>4</Order>
|
<Order>4</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -342,11 +347,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>22</Order>
|
<Order>22</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>23</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -253,6 +253,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "RequireSecuritySignature" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
<Description>Disable SMB signing requirement</Description>
|
<Description>Disable SMB signing requirement</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>3</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>4</Order>
|
<Order>4</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -345,11 +350,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>22</Order>
|
<Order>22</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>23</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -197,6 +197,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -269,11 +274,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>17</Order>
|
<Order>17</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>18</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -201,6 +201,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -273,11 +278,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>17</Order>
|
<Order>17</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>18</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -201,6 +201,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -273,11 +278,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>17</Order>
|
<Order>17</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>18</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -201,6 +201,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -273,11 +278,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>17</Order>
|
<Order>17</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>18</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -201,6 +201,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -273,11 +278,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>17</Order>
|
<Order>17</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>18</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -201,6 +201,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -273,11 +278,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>17</Order>
|
<Order>17</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>18</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -201,6 +201,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -273,11 +278,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>17</Order>
|
<Order>17</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>18</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -221,6 +221,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -288,11 +293,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>16</Order>
|
<Order>16</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>17</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -224,6 +224,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -291,11 +296,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>16</Order>
|
<Order>16</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>17</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -231,6 +231,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v "DevicePasswordLessBuildVersion" /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
@ -298,11 +303,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>16</Order>
|
<Order>16</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>17</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -150,6 +150,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -247,11 +252,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>22</Order>
|
<Order>22</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>23</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -150,6 +150,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -247,11 +252,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>22</Order>
|
<Order>22</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>23</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -150,6 +150,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -247,11 +252,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>22</Order>
|
<Order>22</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>23</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -150,6 +150,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -247,11 +252,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>22</Order>
|
<Order>22</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>23</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -150,6 +150,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -247,11 +252,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>22</Order>
|
<Order>22</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>23</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
@ -150,6 +150,11 @@
|
|||||||
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v "AllowInsecureGuestAuth" /t REG_DWORD /d 1 /f</CommandLine>
|
||||||
<Description>Allow guest access to network shares</Description>
|
<Description>Allow guest access to network shares</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
<SynchronousCommand wcm:action="add">
|
||||||
|
<Order>2</Order>
|
||||||
|
<CommandLine>reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 0 /f</CommandLine>
|
||||||
|
<Description>Allow RDP login with blank password</Description>
|
||||||
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>3</Order>
|
<Order>3</Order>
|
||||||
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
<CommandLine>cmd /C wmic useraccount where name="Docker" set PasswordExpires=false</CommandLine>
|
||||||
@ -247,11 +252,6 @@
|
|||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
<SynchronousCommand wcm:action="add">
|
<SynchronousCommand wcm:action="add">
|
||||||
<Order>22</Order>
|
<Order>22</Order>
|
||||||
<CommandLine>cmd /C echo 20.20.20.1 host.lan >> %WINDIR%\system32\drivers\etc\hosts</CommandLine>
|
|
||||||
<Description>Add entry in hosts file</Description>
|
|
||||||
</SynchronousCommand>
|
|
||||||
<SynchronousCommand wcm:action="add">
|
|
||||||
<Order>23</Order>
|
|
||||||
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
<CommandLine>cmd /C if exist "C:\OEM\install.bat" start "Install" "cmd /C C:\OEM\install.bat"</CommandLine>
|
||||||
<Description>Execute custom script from the OEM folder if exists</Description>
|
<Description>Execute custom script from the OEM folder if exists</Description>
|
||||||
</SynchronousCommand>
|
</SynchronousCommand>
|
||||||
|
67
readme.md
67
readme.md
@ -26,7 +26,7 @@ Windows inside a Docker container.
|
|||||||
|
|
||||||
## Usage 🐳
|
## Usage 🐳
|
||||||
|
|
||||||
##### Via Docker Compose:
|
Via Docker Compose:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
@ -50,21 +50,27 @@ services:
|
|||||||
stop_grace_period: 2m
|
stop_grace_period: 2m
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Via Docker CLI:
|
Via Docker CLI:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 dockurr/windows
|
docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v ${PWD:-.}/windows:/storage --stop-timeout 120 dockurr/windows
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Via Kubernetes:
|
Via Kubernetes:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
|
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
##### Via Github Codespaces:
|
## Compatibility ⚙️
|
||||||
|
|
||||||
[](https://codespaces.new/dockur/windows)
|
| **Product** | **Platform** | |
|
||||||
|
|---|---|---|
|
||||||
|
| Docker Engine | Linux| ✅ |
|
||||||
|
| Docker Desktop | Linux | ❌ |
|
||||||
|
| Docker Desktop | macOS | ❌ |
|
||||||
|
| Docker Desktop | Windows 11 | ✅ |
|
||||||
|
| Docker Desktop | Windows 10 | ❌ |
|
||||||
|
|
||||||
## FAQ 💬
|
## FAQ 💬
|
||||||
|
|
||||||
@ -72,7 +78,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
|
|
||||||
Very simple! These are the steps:
|
Very simple! These are the steps:
|
||||||
|
|
||||||
- Start the container and connect to [port 8006](http://127.0.0.1:8006/) using your web browser.
|
- Start the container and connect to [port 8006](http://localhost:8006) using your web browser.
|
||||||
|
|
||||||
- Sit back and relax while the magic happens, the whole installation will be performed fully automatic.
|
- Sit back and relax while the magic happens, the whole installation will be performed fully automatic.
|
||||||
|
|
||||||
@ -102,10 +108,9 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
| `10e` | Windows 10 Enterprise | 5.2 GB |
|
| `10e` | Windows 10 Enterprise | 5.2 GB |
|
||||||
||||
|
||||
|
||||||
| `8e` | Windows 8.1 Enterprise | 3.7 GB |
|
| `8e` | Windows 8.1 Enterprise | 3.7 GB |
|
||||||
| `7u` | Windows 7 Ultimate | 3.1 GB |
|
| `7e` | Windows 7 Enterprise | 3.0 GB |
|
||||||
| `vu` | Windows Vista Ultimate | 3.0 GB |
|
| `ve` | Windows Vista Enterprise | 3.0 GB |
|
||||||
| `xp` | Windows XP Professional | 0.6 GB |
|
| `xp` | Windows XP Professional | 0.6 GB |
|
||||||
| `2k` | Windows 2000 Professional | 0.4 GB |
|
|
||||||
||||
|
||||
|
||||||
| `2025` | Windows Server 2025 | 5.6 GB |
|
| `2025` | Windows Server 2025 | 5.6 GB |
|
||||||
| `2022` | Windows Server 2022 | 4.7 GB |
|
| `2022` | Windows Server 2022 | 4.7 GB |
|
||||||
@ -171,7 +176,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
|
|
||||||
### How do I configure the username and password?
|
### How do I configure the username and password?
|
||||||
|
|
||||||
By default, a user called `Docker` is created during installation and its password is `admin`.
|
By default, a user called `Docker` (with an empty password) is created during installation.
|
||||||
|
|
||||||
If you want to use different credentials, you can configure them in your compose file (only before installation):
|
If you want to use different credentials, you can configure them in your compose file (only before installation):
|
||||||
|
|
||||||
@ -204,6 +209,15 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
KEYBOARD: "en-US"
|
KEYBOARD: "en-US"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### How do I set the product key?
|
||||||
|
|
||||||
|
By default, an evaluation version of Windows will be installed, but if you have a product key you can add a `KEY` variable like this (before installation):
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
KEY: "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx"
|
||||||
|
```
|
||||||
|
|
||||||
### How do I select the edition?
|
### How do I select the edition?
|
||||||
|
|
||||||
Windows Server offers a minimalistic Core edition without a GUI. To select those non-standard editions, you can add a `EDITION` variable like this (before installation):
|
Windows Server offers a minimalistic Core edition without a GUI. To select those non-standard editions, you can add a `EDITION` variable like this (before installation):
|
||||||
@ -226,7 +240,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
volumes:
|
volumes:
|
||||||
- ./example.iso:/boot.iso
|
- ./example.iso:/custom.iso
|
||||||
```
|
```
|
||||||
|
|
||||||
Replace the example path `./example.iso` with the filename of your desired ISO file. The value of `VERSION` will be ignored in this case.
|
Replace the example path `./example.iso` with the filename of your desired ISO file. The value of `VERSION` will be ignored in this case.
|
||||||
@ -248,7 +262,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
|
|
||||||
It's recommended to stick to the automatic installation, as it adjusts various settings to prevent common issues when running Windows inside a virtual environment.
|
It's recommended to stick to the automatic installation, as it adjusts various settings to prevent common issues when running Windows inside a virtual environment.
|
||||||
|
|
||||||
However, if you insist on performing the installation manually at your own risk, add the following environment variable to your compose file:
|
However, if you insist on performing the installation manually on your own risk, add the following environment variable to your compose file:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
environment:
|
environment:
|
||||||
@ -259,7 +273,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
|
|
||||||
The web-viewer is mainly meant to be used during installation, as its picture quality is low, and it has no audio or clipboard for example.
|
The web-viewer is mainly meant to be used during installation, as its picture quality is low, and it has no audio or clipboard for example.
|
||||||
|
|
||||||
So for a better experience you can connect using any Microsoft Remote Desktop client to the IP of the container, using the username `Docker` and password `admin`.
|
So for a better experience you can connect using any Microsoft Remote Desktop client to the IP of the container, using the username `Docker` and by leaving the password empty.
|
||||||
|
|
||||||
There is a RDP client for [Android](https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx) available from the Play Store and one for [iOS](https://apps.apple.com/nl/app/microsoft-remote-desktop/id714464092?l=en-GB) in the Apple Store. For Linux you can use [FreeRDP](https://www.freerdp.com/) and on Windows just type `mstsc` in the search box.
|
There is a RDP client for [Android](https://play.google.com/store/apps/details?id=com.microsoft.rdc.androidx) available from the Play Store and one for [iOS](https://apps.apple.com/nl/app/microsoft-remote-desktop/id714464092?l=en-GB) in the Apple Store. For Linux you can use [FreeRDP](https://www.freerdp.com/) and on Windows just type `mstsc` in the search box.
|
||||||
|
|
||||||
@ -330,12 +344,12 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
|
|
||||||
### How do I pass-through a disk?
|
### How do I pass-through a disk?
|
||||||
|
|
||||||
It is possible to pass-through disk devices or partitions directly by adding them to your compose file in this way:
|
It is possible to pass-through disk devices directly by adding them to your compose file in this way:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
devices:
|
devices:
|
||||||
- /dev/sdb:/disk1
|
- /dev/sdb:/disk1
|
||||||
- /dev/sdc1:/disk2
|
- /dev/sdc:/disk2
|
||||||
```
|
```
|
||||||
|
|
||||||
Use `/disk1` if you want it to become your main drive (which will be formatted during installation), and use `/disk2` and higher to add them as secondary drives (which will stay untouched).
|
Use `/disk1` if you want it to become your main drive (which will be formatted during installation), and use `/disk2` and higher to add them as secondary drives (which will stay untouched).
|
||||||
@ -355,16 +369,9 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
|
|
||||||
### How do I verify if my system supports KVM?
|
### How do I verify if my system supports KVM?
|
||||||
|
|
||||||
First check if your software is compatible using this chart:
|
Only Linux and Windows 11 support KVM virtualization, macOS and Windows 10 do not unfortunately.
|
||||||
|
|
||||||
| **Product** | **Linux** | **Win11** | **Win10** | **macOS** |
|
You can run the following commands in Linux to check your system:
|
||||||
|---|---|---|---|---|
|
|
||||||
| Docker CLI | ✅ | ✅ | ❌ | ❌ |
|
|
||||||
| Docker Desktop | ❌ | ✅ | ❌ | ❌ |
|
|
||||||
| Podman CLI | ✅ | ✅ | ❌ | ❌ |
|
|
||||||
| Podman Desktop | ✅ | ✅ | ❌ | ❌ |
|
|
||||||
|
|
||||||
After that you can run the following commands in Linux to check your system:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install cpu-checker
|
sudo apt install cpu-checker
|
||||||
@ -379,16 +386,16 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
|
|||||||
|
|
||||||
- you are not using a cloud provider, as most of them do not allow nested virtualization for their VPS's.
|
- you are not using a cloud provider, as most of them do not allow nested virtualization for their VPS's.
|
||||||
|
|
||||||
If you did not receive any error from `kvm-ok` but the container still complains about a missing KVM device, it could help to add `privileged: true` to your compose file (or `sudo` to your `docker` command) to rule out any permission issue.
|
If you do not receive any error from `kvm-ok` but the container still complains about KVM, please check whether:
|
||||||
|
|
||||||
|
- you are not using "Docker Desktop for Linux" as it does not support KVM, instead make use of Docker Engine directly.
|
||||||
|
|
||||||
|
- it could help to add `privileged: true` to your compose file (or `sudo` to your `docker run` command), to rule out any permission issue.
|
||||||
|
|
||||||
### How do I run macOS in a container?
|
### How do I run macOS in a container?
|
||||||
|
|
||||||
You can use [dockur/macos](https://github.com/dockur/macos) for that. It shares many of the same features, except for the automatic installation.
|
You can use [dockur/macos](https://github.com/dockur/macos) for that. It shares many of the same features, except for the automatic installation.
|
||||||
|
|
||||||
### How do I run a Linux desktop in a container?
|
|
||||||
|
|
||||||
You can use [qemus/qemu](https://github.com/qemus/qemu) in that case.
|
|
||||||
|
|
||||||
### Is this project legal?
|
### Is this project legal?
|
||||||
|
|
||||||
Yes, this project contains only open-source code and does not distribute any copyrighted material. Any product keys found in the code are just generic placeholders provided by Microsoft for trial purposes. So under all applicable laws, this project will be considered legal.
|
Yes, this project contains only open-source code and does not distribute any copyrighted material. Any product keys found in the code are just generic placeholders provided by Microsoft for trial purposes. So under all applicable laws, this project will be considered legal.
|
||||||
|
579
src/define.sh
579
src/define.sh
@ -16,7 +16,8 @@ set -Eeuo pipefail
|
|||||||
: "${USERNAME:=""}"
|
: "${USERNAME:=""}"
|
||||||
: "${PASSWORD:=""}"
|
: "${PASSWORD:=""}"
|
||||||
|
|
||||||
MIRRORS=4
|
MIRRORS=3
|
||||||
|
PLATFORM="x64"
|
||||||
|
|
||||||
parseVersion() {
|
parseVersion() {
|
||||||
|
|
||||||
@ -61,45 +62,27 @@ parseVersion() {
|
|||||||
"8e" | "81e" | "8.1e" | "win8e" | "win81e" | "windows 8e" )
|
"8e" | "81e" | "8.1e" | "win8e" | "win81e" | "windows 8e" )
|
||||||
VERSION="win81x64-enterprise-eval"
|
VERSION="win81x64-enterprise-eval"
|
||||||
;;
|
;;
|
||||||
"7" | "win7" | "windows7" | "windows 7" )
|
"7" | "7e" | "win7" | "win7e" | "windows7" | "windows 7" )
|
||||||
VERSION="win7x64"
|
VERSION="win7x64"
|
||||||
[ -z "$DETECTED" ] && DETECTED="win7x64-ultimate"
|
[ -z "$DETECTED" ] && DETECTED="win7x64-enterprise-eval"
|
||||||
;;
|
;;
|
||||||
"7u" | "win7u" | "windows7u" | "windows 7u" )
|
"7u" | "win7u" | "windows7u" | "windows 7u" )
|
||||||
VERSION="win7x64-ultimate"
|
VERSION="win7x64-ultimate"
|
||||||
;;
|
;;
|
||||||
"7e" | "win7e" | "windows7e" | "windows 7e" )
|
"7x86" | "win7x86" | "windows7x86" | "win7x86-enterprise" )
|
||||||
VERSION="win7x64-enterprise"
|
|
||||||
;;
|
|
||||||
"7x86" | "win7x86" | "win732" | "windows7x86" )
|
|
||||||
VERSION="win7x86"
|
VERSION="win7x86"
|
||||||
[ -z "$DETECTED" ] && DETECTED="win7x86-ultimate"
|
[ -z "$DETECTED" ] && DETECTED="win7x86-enterprise"
|
||||||
;;
|
;;
|
||||||
"7ux86" | "7u32" | "win7x86-ultimate" )
|
"vista" | "ve" | "6" | "winvista" | "windowsvista" | "windows vista" )
|
||||||
VERSION="win7x86-ultimate"
|
|
||||||
;;
|
|
||||||
"7ex86" | "7e32" | "win7x86-enterprise" )
|
|
||||||
VERSION="win7x86-enterprise"
|
|
||||||
;;
|
|
||||||
"vista" | "vs" | "6" | "winvista" | "windowsvista" | "windows vista" )
|
|
||||||
VERSION="winvistax64"
|
VERSION="winvistax64"
|
||||||
[ -z "$DETECTED" ] && DETECTED="winvistax64-ultimate"
|
[ -z "$DETECTED" ] && DETECTED="winvistax64-enterprise"
|
||||||
;;
|
;;
|
||||||
"vistu" | "vu" | "6u" | "winvistu" )
|
"vistu" | "vu" | "6u" | "winvistu" | "windowsvistu" | "windows vistu" )
|
||||||
VERSION="winvistax64-ultimate"
|
VERSION="winvistax64-ultimate"
|
||||||
;;
|
;;
|
||||||
"viste" | "ve" | "6e" | "winviste" )
|
"vistax86" | "vex86" | "6x86" | "winvistax86" | "windowsvistax86" | "winvistax86-enterprise" )
|
||||||
VERSION="winvistax64-enterprise"
|
|
||||||
;;
|
|
||||||
"vistax86" | "vista32" | "6x86" | "winvistax86" | "windowsvistax86" )
|
|
||||||
VERSION="winvistax86"
|
VERSION="winvistax86"
|
||||||
[ -z "$DETECTED" ] && DETECTED="winvistax86-ultimate"
|
[ -z "$DETECTED" ] && DETECTED="winvistax86-enterprise"
|
||||||
;;
|
|
||||||
"vux86" | "vu32" | "winvistax86-ultimate" )
|
|
||||||
VERSION="winvistax86-ultimate"
|
|
||||||
;;
|
|
||||||
"vex86" | "ve32" | "winvistax86-enterprise" )
|
|
||||||
VERSION="winvistax86-enterprise"
|
|
||||||
;;
|
;;
|
||||||
"xp" | "xp32" | "xpx86" | "5" | "5x86" | "winxp" | "winxp86" | "windowsxp" | "windows xp" )
|
"xp" | "xp32" | "xpx86" | "5" | "5x86" | "winxp" | "winxp86" | "windowsxp" | "windows xp" )
|
||||||
VERSION="winxpx86"
|
VERSION="winxpx86"
|
||||||
@ -107,9 +90,6 @@ parseVersion() {
|
|||||||
"xp64" | "xpx64" | "5x64" | "winxp64" | "winxpx64" | "windowsxp64" | "windowsxpx64" )
|
"xp64" | "xpx64" | "5x64" | "winxp64" | "winxpx64" | "windowsxp64" | "windowsxpx64" )
|
||||||
VERSION="winxpx64"
|
VERSION="winxpx64"
|
||||||
;;
|
;;
|
||||||
"2k" | "2000" | "win2k" | "win2000" | "windows2k" | "windows2000" )
|
|
||||||
VERSION="win2kx86"
|
|
||||||
;;
|
|
||||||
"25" | "2025" | "win25" | "win2025" | "windows2025" | "windows 2025" )
|
"25" | "2025" | "win25" | "win2025" | "windows2025" | "windows 2025" )
|
||||||
VERSION="win2025-eval"
|
VERSION="win2025-eval"
|
||||||
;;
|
;;
|
||||||
@ -762,6 +742,11 @@ getMido() {
|
|||||||
sum="2dedd44c45646c74efc5a028f65336027e14a56f76686a4631cf94ffe37c72f2"
|
sum="2dedd44c45646c74efc5a028f65336027e14a56f76686a4631cf94ffe37c72f2"
|
||||||
url="https://download.microsoft.com/download/B/9/9/B999286E-0A47-406D-8B3D-5B5AD7373A4A/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_ENTERPRISE_EVAL_EN-US-IR3_CENA_X64FREE_EN-US_DV9.ISO"
|
url="https://download.microsoft.com/download/B/9/9/B999286E-0A47-406D-8B3D-5B5AD7373A4A/9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_ENTERPRISE_EVAL_EN-US-IR3_CENA_X64FREE_EN-US_DV9.ISO"
|
||||||
;;
|
;;
|
||||||
|
"win7x64" | "win7x64-enterprise-eval" )
|
||||||
|
size=3121248256
|
||||||
|
sum="2c16c73388a5c02a0ec4cd8b9e5c14ba28b7b45d13d0c9c7d44459feecc0385f"
|
||||||
|
url="http://care.dlservice.microsoft.com/dl/download/evalx/win7/x64/EN/7600.16385.090713-1255_x64fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENXEVAL_EN_DVD.iso"
|
||||||
|
;;
|
||||||
"win2025-eval" )
|
"win2025-eval" )
|
||||||
size=6014152704
|
size=6014152704
|
||||||
sum="d0ef4502e350e3c6c53c15b1b3020d38a5ded011bf04998e950720ac8579b23d"
|
sum="d0ef4502e350e3c6c53c15b1b3020d38a5ded011bf04998e950720ac8579b23d"
|
||||||
@ -893,41 +878,36 @@ getLink1() {
|
|||||||
sum="dfd9890881b7e832a927c38310fb415b7ea62ac5a896671f2ce2a111998f0df8"
|
sum="dfd9890881b7e832a927c38310fb415b7ea62ac5a896671f2ce2a111998f0df8"
|
||||||
url="server/2008r2/en_windows_server_2008_r2_with_sp1_x64_dvd_617601-018.iso"
|
url="server/2008r2/en_windows_server_2008_r2_with_sp1_x64_dvd_617601-018.iso"
|
||||||
;;
|
;;
|
||||||
"win7x64" | "win7x64-ultimate" )
|
"win7x64" | "win7x64-enterprise" | "win7x64-enterprise-eval" )
|
||||||
size=3320836096
|
|
||||||
sum="0b738b55a5ea388ad016535a5c8234daf2e5715a0638488ddd8a228a836055a1"
|
|
||||||
url="7/en_windows_7_with_sp1_x64.iso"
|
|
||||||
;;
|
|
||||||
"win7x64-enterprise" | "win7x64-enterprise-eval" )
|
|
||||||
size=3182604288
|
size=3182604288
|
||||||
sum="ee69f3e9b86ff973f632db8e01700c5724ef78420b175d25bae6ead90f6805a7"
|
sum="ee69f3e9b86ff973f632db8e01700c5724ef78420b175d25bae6ead90f6805a7"
|
||||||
url="7/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso"
|
url="7/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso"
|
||||||
;;
|
;;
|
||||||
"win7x86" | "win7x86-ultimate" )
|
"win7x64-ultimate" )
|
||||||
size=2564411392
|
size=3320836096
|
||||||
sum="99f3369c90160816be07093dbb0ac053e0a84e52d6ed1395c92ae208ccdf67e5"
|
sum="0b738b55a5ea388ad016535a5c8234daf2e5715a0638488ddd8a228a836055a1"
|
||||||
url="7/en_windows_7_with_sp1_x86.iso"
|
url="7/en_windows_7_with_sp1_x64.iso"
|
||||||
;;
|
;;
|
||||||
"win7x86-enterprise" | "win7x86-enterprise-eval" )
|
"win7x86" | "win7x86-enterprise" )
|
||||||
size=2434502656
|
size=2434502656
|
||||||
sum="8bdd46ff8cb8b8de9c4aba02706629c8983c45e87da110e64e13be17c8434dad"
|
sum="8bdd46ff8cb8b8de9c4aba02706629c8983c45e87da110e64e13be17c8434dad"
|
||||||
url="7/en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso"
|
url="7/en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso"
|
||||||
;;
|
;;
|
||||||
"winvistax64" | "winvistax64-ultimate" )
|
"win7x86-ultimate" )
|
||||||
|
size=2564411392
|
||||||
|
sum="99f3369c90160816be07093dbb0ac053e0a84e52d6ed1395c92ae208ccdf67e5"
|
||||||
|
url="7/en_windows_7_with_sp1_x86.iso"
|
||||||
|
;;
|
||||||
|
"winvistax64-ultimate" )
|
||||||
size=3861460992
|
size=3861460992
|
||||||
sum="edf9f947c5791469fd7d2d40a5dcce663efa754f91847aa1d28ed7f585675b78"
|
sum="edf9f947c5791469fd7d2d40a5dcce663efa754f91847aa1d28ed7f585675b78"
|
||||||
url="vista/en_windows_vista_sp2_x64_dvd_342267.iso"
|
url="vista/en_windows_vista_sp2_x64_dvd_342267.iso"
|
||||||
;;
|
;;
|
||||||
"winvistax86" | "winvistax86-ultimate" )
|
"winvistax86-ultimate" )
|
||||||
size=3243413504
|
size=3243413504
|
||||||
sum="9c36fed4255bd05a8506b2da88f9aad73643395e155e609398aacd2b5276289c"
|
sum="9c36fed4255bd05a8506b2da88f9aad73643395e155e609398aacd2b5276289c"
|
||||||
url="vista/en_windows_vista_with_sp2_x86_dvd_342266.iso"
|
url="vista/en_windows_vista_with_sp2_x86_dvd_342266.iso"
|
||||||
;;
|
;;
|
||||||
"win2003r2" )
|
|
||||||
size=731650535
|
|
||||||
sum="6b64bbae7eb00fd000cc887ffdc9f224d00c557daad7f756cfa373950b880dc8"
|
|
||||||
url="server/2003r2/en_win_srv_2003_r2_standard_x64_with_sp2_cd1_cd2.zip"
|
|
||||||
;;
|
|
||||||
"winxpx86" )
|
"winxpx86" )
|
||||||
size=617756672
|
size=617756672
|
||||||
sum="62b6c91563bad6cd12a352aa018627c314cfc5162d8e9f8af0756a642e602a46"
|
sum="62b6c91563bad6cd12a352aa018627c314cfc5162d8e9f8af0756a642e602a46"
|
||||||
@ -938,11 +918,6 @@ getLink1() {
|
|||||||
sum="8fac68e1e56c64ad9a2aa0ad464560282e67fa4f4dd51d09a66f4e548eb0f2d6"
|
sum="8fac68e1e56c64ad9a2aa0ad464560282e67fa4f4dd51d09a66f4e548eb0f2d6"
|
||||||
url="xp/professional/en_win_xp_pro_x64_vl.iso"
|
url="xp/professional/en_win_xp_pro_x64_vl.iso"
|
||||||
;;
|
;;
|
||||||
"win2kx86" )
|
|
||||||
size=331701982
|
|
||||||
sum="a93251b31f92316411bb48458a695d9051b13cdeba714c46f105012fdda45bf3"
|
|
||||||
url="2000/5.00.2195.6717_x86fre_client-professional_retail_en-us.7z"
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case "${ret,,}" in
|
case "${ret,,}" in
|
||||||
@ -987,46 +962,46 @@ getLink2() {
|
|||||||
sum="dfd9890881b7e832a927c38310fb415b7ea62ac5a896671f2ce2a111998f0df8"
|
sum="dfd9890881b7e832a927c38310fb415b7ea62ac5a896671f2ce2a111998f0df8"
|
||||||
url="Windows%20Server%202008%20R2/en_windows_server_2008_r2_with_sp1_x64_dvd_617601.iso"
|
url="Windows%20Server%202008%20R2/en_windows_server_2008_r2_with_sp1_x64_dvd_617601.iso"
|
||||||
;;
|
;;
|
||||||
"win7x64" | "win7x64-ultimate" )
|
"win7x64" | "win7x64-enterprise" | "win7x64-enterprise-eval" )
|
||||||
size=3320903680
|
|
||||||
sum="36f4fa2416d0982697ab106e3a72d2e120dbcdb6cc54fd3906d06120d0653808"
|
|
||||||
url="Windows%207/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso"
|
|
||||||
;;
|
|
||||||
"win7x64-enterprise" | "win7x64-enterprise-eval" )
|
|
||||||
size=3182604288
|
size=3182604288
|
||||||
sum="ee69f3e9b86ff973f632db8e01700c5724ef78420b175d25bae6ead90f6805a7"
|
sum="ee69f3e9b86ff973f632db8e01700c5724ef78420b175d25bae6ead90f6805a7"
|
||||||
url="Windows%207/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso"
|
url="Windows%207/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso"
|
||||||
;;
|
;;
|
||||||
"win7x86" | "win7x86-ultimate" )
|
"win7x64-ultimate" )
|
||||||
size=2564476928
|
size=3320903680
|
||||||
sum="e2c009a66d63a742941f5087acae1aa438dcbe87010bddd53884b1af6b22c940"
|
sum="36f4fa2416d0982697ab106e3a72d2e120dbcdb6cc54fd3906d06120d0653808"
|
||||||
url="Windows%207/en_windows_7_ultimate_with_sp1_x86_dvd_u_677460.iso"
|
url="Windows%207/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso"
|
||||||
;;
|
;;
|
||||||
"win7x86-enterprise" | "win7x86-enterprise-eval" )
|
"win7x86" | "win7x86-enterprise" )
|
||||||
size=2434502656
|
size=2434502656
|
||||||
sum="8bdd46ff8cb8b8de9c4aba02706629c8983c45e87da110e64e13be17c8434dad"
|
sum="8bdd46ff8cb8b8de9c4aba02706629c8983c45e87da110e64e13be17c8434dad"
|
||||||
url="Windows%207/en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso"
|
url="Windows%207/en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso"
|
||||||
;;
|
;;
|
||||||
"winvistax64" | "winvistax64-ultimate" )
|
"win7x86-ultimate" )
|
||||||
size=3861460992
|
size=2564476928
|
||||||
sum="edf9f947c5791469fd7d2d40a5dcce663efa754f91847aa1d28ed7f585675b78"
|
sum="e2c009a66d63a742941f5087acae1aa438dcbe87010bddd53884b1af6b22c940"
|
||||||
url="Windows%20Vista/en_windows_vista_sp2_x64_dvd_342267.iso"
|
url="Windows%207/en_windows_7_ultimate_with_sp1_x86_dvd_u_677460.iso"
|
||||||
;;
|
;;
|
||||||
"winvistax64-enterprise" )
|
"winvistax64" | "winvistax64-enterprise" )
|
||||||
size=3205953536
|
size=3205953536
|
||||||
sum="0a0cd511b3eac95c6f081419c9c65b12317b9d6a8d9707f89d646c910e788016"
|
sum="0a0cd511b3eac95c6f081419c9c65b12317b9d6a8d9707f89d646c910e788016"
|
||||||
url="Windows%20Vista/en_windows_vista_enterprise_sp2_x64_dvd_342332.iso"
|
url="Windows%20Vista/en_windows_vista_enterprise_sp2_x64_dvd_342332.iso"
|
||||||
;;
|
;;
|
||||||
"winvistax86" | "winvistax86-ultimate" )
|
"winvistax64-ultimate" )
|
||||||
size=3243413504
|
size=3861460992
|
||||||
sum="9c36fed4255bd05a8506b2da88f9aad73643395e155e609398aacd2b5276289c"
|
sum="edf9f947c5791469fd7d2d40a5dcce663efa754f91847aa1d28ed7f585675b78"
|
||||||
url="Windows%20Vista/en_windows_vista_with_sp2_x86_dvd_342266.iso"
|
url="Windows%20Vista/en_windows_vista_sp2_x64_dvd_342267.iso"
|
||||||
;;
|
;;
|
||||||
"winvistax86-enterprise" )
|
"winvistax86" | "winvistax86-enterprise" )
|
||||||
size=2420981760
|
size=2420981760
|
||||||
sum="54e2720004041e7db988a391543ea5228b0affc28efcf9303d2d0ff9402067f5"
|
sum="54e2720004041e7db988a391543ea5228b0affc28efcf9303d2d0ff9402067f5"
|
||||||
url="Windows%20Vista/en_windows_vista_enterprise_sp2_x86_dvd_342329.iso"
|
url="Windows%20Vista/en_windows_vista_enterprise_sp2_x86_dvd_342329.iso"
|
||||||
;;
|
;;
|
||||||
|
"winvistax86-ultimate" )
|
||||||
|
size=3243413504
|
||||||
|
sum="9c36fed4255bd05a8506b2da88f9aad73643395e155e609398aacd2b5276289c"
|
||||||
|
url="Windows%20Vista/en_windows_vista_with_sp2_x86_dvd_342266.iso"
|
||||||
|
;;
|
||||||
"win2003r2" )
|
"win2003r2" )
|
||||||
size=652367872
|
size=652367872
|
||||||
sum="74245cba888f935b138b106c2744bec7f392925b472358960a0b5643cd6abb32"
|
sum="74245cba888f935b138b106c2744bec7f392925b472358960a0b5643cd6abb32"
|
||||||
@ -1055,49 +1030,6 @@ getLink2() {
|
|||||||
|
|
||||||
getLink3() {
|
getLink3() {
|
||||||
|
|
||||||
local id="$1"
|
|
||||||
local lang="$2"
|
|
||||||
local ret="$3"
|
|
||||||
local url=""
|
|
||||||
local sum=""
|
|
||||||
local size=""
|
|
||||||
local host="https://nixsys.com/drivers"
|
|
||||||
|
|
||||||
[[ "${lang,,}" != "en" ]] && [[ "${lang,,}" != "en-us" ]] && return 0
|
|
||||||
|
|
||||||
case "${id,,}" in
|
|
||||||
"win7x64" | "win7x64-ultimate" )
|
|
||||||
size=3319478272
|
|
||||||
sum="3286963e1476082ba882a5058c205c264772bead9e99e15cd1cb255f04b72900"
|
|
||||||
url="WINDOWS764_EN_DVD.iso"
|
|
||||||
;;
|
|
||||||
"win7x86" | "win7x86-ultimate" )
|
|
||||||
size=2564784128
|
|
||||||
sum="bd4c03c917d00a40222d92a6fab04981a7bd46140bda1888eb961a322e3c5d89"
|
|
||||||
url="WINDOWS732_EN_DVD.iso"
|
|
||||||
;;
|
|
||||||
"winxpx86" )
|
|
||||||
size=618065920
|
|
||||||
sum="8177d0137dfe4e8296a85793f140806c9250a5992c8e0e50158c742767ad1182"
|
|
||||||
url="WinXPsp3.iso"
|
|
||||||
;;
|
|
||||||
"win2kx86" )
|
|
||||||
size=387424256
|
|
||||||
sum="08b11c3897eb38d1e6566a17cec5cdf2b3c620444e160e3db200a7e223aabbd8"
|
|
||||||
url="Windows_2000_SP4.iso"
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "${ret,,}" in
|
|
||||||
"sum" ) echo "$sum" ;;
|
|
||||||
"size" ) echo "$size" ;;
|
|
||||||
*) [ -n "$url" ] && echo "$host/$url";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
getLink4() {
|
|
||||||
|
|
||||||
local id="$1"
|
local id="$1"
|
||||||
local lang="$2"
|
local lang="$2"
|
||||||
local ret="$3"
|
local ret="$3"
|
||||||
@ -1124,135 +1056,11 @@ getLink4() {
|
|||||||
sum="a11116c0645d892d6a5a7c585ecc1fa13aa66f8c7cc6b03bf1f27bd16860cc35"
|
sum="a11116c0645d892d6a5a7c585ecc1fa13aa66f8c7cc6b03bf1f27bd16860cc35"
|
||||||
url="tiny-10-23-h2/tiny10%20x64%2023h2.iso"
|
url="tiny-10-23-h2/tiny10%20x64%2023h2.iso"
|
||||||
;;
|
;;
|
||||||
"win11x64" )
|
|
||||||
size=5819484160
|
|
||||||
sum="b56b911bf18a2ceaeb3904d87e7c770bdf92d3099599d61ac2497b91bf190b11"
|
|
||||||
url="windows-11-24h2-x64/Windows%2011%2024H2%20x64.iso"
|
|
||||||
;;
|
|
||||||
"win11x64-enterprise" | "win11x64-enterprise-eval" )
|
|
||||||
size=6209064960
|
|
||||||
sum="c8dbc96b61d04c8b01faf6ce0794fdf33965c7b350eaa3eb1e6697019902945c"
|
|
||||||
url="Windows11Enterprise23H2x64/22631.2428.231001-0608.23H2_NI_RELEASE_SVC_REFRESH_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us.iso"
|
|
||||||
;;
|
|
||||||
"win11x64-iot" | "win11x64-enterprise-iot-eval" )
|
|
||||||
size=5144817664
|
|
||||||
sum="4f59662a96fc1da48c1b415d6c369d08af55ddd64e8f1c84e0166d9e50405d7a"
|
|
||||||
url="Windows11LTSC/X23-81951_26100.1742.240906-0331.ge_release_svc_refresh_CLIENT_ENTERPRISES_OEM_x64FRE_en-us.iso"
|
|
||||||
;;
|
|
||||||
"win11x64-ltsc" | "win11x64-enterprise-ltsc-eval" )
|
|
||||||
size=5144817664
|
|
||||||
sum="4f59662a96fc1da48c1b415d6c369d08af55ddd64e8f1c84e0166d9e50405d7a"
|
|
||||||
url="Windows11LTSC/X23-81951_26100.1742.240906-0331.ge_release_svc_refresh_CLIENT_ENTERPRISES_OEM_x64FRE_en-us.iso"
|
|
||||||
;;
|
|
||||||
"win10x64" | "win10x64-enterprise" | "win10x64-enterprise-eval" )
|
|
||||||
size=6978310144
|
|
||||||
sum="7847abd6f39abd02dc8089c4177d354f9eb66fa0ee2fe8ae20e596e675d1ab67"
|
|
||||||
url="Windows-10-22H2-July-2024-64-bit-DVD-English/en-us_windows_10_business_editions_version_22h2_updated_july_2024_x64_dvd_c004521a.iso"
|
|
||||||
;;
|
|
||||||
"win10x64-iot" | "win10x64-enterprise-iot-eval" )
|
|
||||||
size=4851668992
|
|
||||||
sum="a0334f31ea7a3e6932b9ad7206608248f0bd40698bfb8fc65f14fc5e4976c160"
|
|
||||||
url="en-us_windows_10_iot_enterprise_ltsc_2021_x64_dvd_257ad90f_202411/en-us_windows_10_iot_enterprise_ltsc_2021_x64_dvd_257ad90f.iso"
|
|
||||||
;;
|
|
||||||
"win10x64-ltsc" | "win10x64-enterprise-ltsc-eval" )
|
|
||||||
size=4899461120
|
|
||||||
sum="c90a6df8997bf49e56b9673982f3e80745058723a707aef8f22998ae6479597d"
|
|
||||||
url="en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96_202302/en-us_windows_10_enterprise_ltsc_2021_x64_dvd_d289cf96.iso"
|
|
||||||
;;
|
|
||||||
"win81x64" )
|
|
||||||
size=4320526336
|
|
||||||
sum="d8333cf427eb3318ff6ab755eb1dd9d433f0e2ae43745312c1cd23e83ca1ce51"
|
|
||||||
url="en_windows_8.1_with_update_x64_dvd_6051480/en_windows_8.1_with_update_x64_dvd_6051480.iso"
|
|
||||||
;;
|
|
||||||
"win81x64-enterprise" | "win81x64-enterprise-eval" )
|
|
||||||
size=4139163648
|
|
||||||
sum="c3c604c03677504e8905090a8ce5bb1dde76b6fd58e10f32e3a25bef21b2abe1"
|
|
||||||
url="en_windows_8.1_enterprise_with_update_x64_dvd/en_windows_8.1_enterprise_with_update_x64_dvd_6054382.iso"
|
|
||||||
;;
|
|
||||||
"win2022" | "win2022-eval" )
|
|
||||||
size=5365624832
|
|
||||||
sum="c3c57bb2cf723973a7dcfb1a21e97dfa035753a7f111e348ad918bb64b3114db"
|
|
||||||
url="win-server-2022/2227-January_2024/en-us_windows_server_2022_updated_jan_2024_x64_dvd_2b7a0c9f.iso"
|
|
||||||
;;
|
|
||||||
"win2019" | "win2019-eval" )
|
|
||||||
size=5575774208
|
|
||||||
sum="0067afe7fdc4e61f677bd8c35a209082aa917df9c117527fc4b2b52a447e89bb"
|
|
||||||
url="sw-dvd-9-win-server-std-core-2019-1809.18-64-bit-english-dc-std-mlf-x-22-74330/SW_DVD9_Win_Server_STD_CORE_2019_1809.18_64Bit_English_DC_STD_MLF_X22-74330.ISO"
|
|
||||||
;;
|
|
||||||
"win2016" | "win2016-eval" )
|
|
||||||
size=6006587392
|
|
||||||
sum="af06e5483c786c023123e325cea4775050324d9e1366f46850b515ae43f764be"
|
|
||||||
url="en_windows_server_2016_updated_feb_2018_x64_dvd_11636692/en_windows_server_2016_updated_feb_2018_x64_dvd_11636692.iso"
|
|
||||||
;;
|
|
||||||
"win2012r2" | "win2012r2-eval" )
|
|
||||||
size=5397889024
|
|
||||||
sum="f351e89eb88a96af4626ceb3450248b8573e3ed5924a4e19ea891e6003b62e4e"
|
|
||||||
url="en_windows_server_2012_r2_with_update_x64_dvd_6052708_202006/en_windows_server_2012_r2_with_update_x64_dvd_6052708.iso"
|
|
||||||
;;
|
|
||||||
"win2008r2" | "win2008r2-eval" )
|
|
||||||
size=3166584832
|
|
||||||
sum="dfd9890881b7e832a927c38310fb415b7ea62ac5a896671f2ce2a111998f0df8"
|
|
||||||
url="en_windows_server_2008_r2_with_sp1_x64_dvd_617601_202006/en_windows_server_2008_r2_with_sp1_x64_dvd_617601.iso"
|
|
||||||
;;
|
|
||||||
"win7x64" | "win7x64-ultimate" )
|
|
||||||
size=3320903680
|
|
||||||
sum="36f4fa2416d0982697ab106e3a72d2e120dbcdb6cc54fd3906d06120d0653808"
|
|
||||||
url="win7-ult-sp1-english/Win7_Ult_SP1_English_x64.iso"
|
|
||||||
;;
|
|
||||||
"win7x64-enterprise" | "win7x64-enterprise-eval" )
|
|
||||||
size=3182604288
|
|
||||||
sum="ee69f3e9b86ff973f632db8e01700c5724ef78420b175d25bae6ead90f6805a7"
|
|
||||||
url="en_windows_7_enterprise_with_sp1_x64_dvd_u_677651_202006/en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso"
|
|
||||||
;;
|
|
||||||
"win7x86" | "win7x86-ultimate" )
|
|
||||||
size=2564476928
|
|
||||||
sum="e2c009a66d63a742941f5087acae1aa438dcbe87010bddd53884b1af6b22c940"
|
|
||||||
url="win7-ult-sp1-english/Win7_Ult_SP1_English_x32.iso"
|
|
||||||
;;
|
|
||||||
"win7x86-enterprise" | "win7x86-enterprise-eval" )
|
|
||||||
size=2434502656
|
|
||||||
sum="8bdd46ff8cb8b8de9c4aba02706629c8983c45e87da110e64e13be17c8434dad"
|
|
||||||
url="en_windows_7_enterprise_with_sp1_x86_dvd_u_677710_202006/en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso"
|
|
||||||
;;
|
|
||||||
"winvistax64" | "winvistax64-ultimate" )
|
|
||||||
size=3861460992
|
|
||||||
sum="edf9f947c5791469fd7d2d40a5dcce663efa754f91847aa1d28ed7f585675b78"
|
|
||||||
url="en_windows_vista_sp2_x64_dvd_342267_202010/en_windows_vista_sp2_x64_dvd_342267.iso"
|
|
||||||
;;
|
|
||||||
"winvistax64-enterprise" )
|
|
||||||
size=3205953536
|
|
||||||
sum="0a0cd511b3eac95c6f081419c9c65b12317b9d6a8d9707f89d646c910e788016"
|
|
||||||
url="en_windows_vista_enterprise_sp2_x64_dvd_342332_202007/en_windows_vista_enterprise_sp2_x64_dvd_342332.iso"
|
|
||||||
;;
|
|
||||||
"winvistax86" | "winvistax86-ultimate" )
|
|
||||||
size=3243413504
|
|
||||||
sum="9c36fed4255bd05a8506b2da88f9aad73643395e155e609398aacd2b5276289c"
|
|
||||||
url="en_windows_vista_sp2_x86_dvd_342266/en_windows_vista_sp2_x86_dvd_342266.iso"
|
|
||||||
;;
|
|
||||||
"winvistax86-enterprise" )
|
|
||||||
size=2420981760
|
|
||||||
sum="54e2720004041e7db988a391543ea5228b0affc28efcf9303d2d0ff9402067f5"
|
|
||||||
url="en_windows_vista_enterprise_sp2_x86_dvd_342329_202007/en_windows_vista_enterprise_sp2_x86_dvd_342329.iso"
|
|
||||||
;;
|
|
||||||
"win2003r2" )
|
|
||||||
size=652367872
|
|
||||||
sum="74245cba888f935b138b106c2744bec7f392925b472358960a0b5643cd6abb32"
|
|
||||||
url="en_win_srv_2003_r2_standard_x64_with_sp2_cd1_x13-05757/en_win_srv_2003_r2_standard_x64_with_sp2_cd1_x13-05757.iso"
|
|
||||||
;;
|
|
||||||
"winxpx86" )
|
"winxpx86" )
|
||||||
size=617756672
|
size=617756672
|
||||||
sum="62b6c91563bad6cd12a352aa018627c314cfc5162d8e9f8af0756a642e602a46"
|
sum="62b6c91563bad6cd12a352aa018627c314cfc5162d8e9f8af0756a642e602a46"
|
||||||
url="XPPRO_SP3_ENU/en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso"
|
url="XPPRO_SP3_ENU/en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso"
|
||||||
;;
|
;;
|
||||||
"winxpx64" )
|
|
||||||
size=614166528
|
|
||||||
sum="8fac68e1e56c64ad9a2aa0ad464560282e67fa4f4dd51d09a66f4e548eb0f2d6"
|
|
||||||
url="windows-xp-all-sp-msdn-iso-files-en-de-ru-tr-x86-x64/en_win_xp_sp1_pro_x64_vl.iso"
|
|
||||||
;;
|
|
||||||
"win2kx86" )
|
|
||||||
size=386859008
|
|
||||||
sum="e3816f6e80b66ff686ead03eeafffe9daf020a5e4717b8bd4736b7c51733ba22"
|
|
||||||
url="MicrosoftWindows2000BuildCollection/5.00.2195.6717_x86fre_client-professional_retail_en-us-ZRMPFPP_EN.iso"
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case "${ret,,}" in
|
case "${ret,,}" in
|
||||||
@ -1376,7 +1184,7 @@ addFolder() {
|
|||||||
cp -Lr "$folder/." "$dest" || return 1
|
cp -Lr "$folder/." "$dest" || return 1
|
||||||
|
|
||||||
local file
|
local file
|
||||||
file=$(find "$dest" -maxdepth 1 -type f -iname install.bat -print -quit)
|
file=$(find "$dest" -maxdepth 1 -type f -iname install.bat | head -n 1)
|
||||||
[ -f "$file" ] && unix2dos -q "$file"
|
[ -f "$file" ] && unix2dos -q "$file"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
@ -1384,39 +1192,31 @@ addFolder() {
|
|||||||
|
|
||||||
prepareInstall() {
|
prepareInstall() {
|
||||||
|
|
||||||
local pid=""
|
|
||||||
local file=""
|
|
||||||
local dir="$2"
|
local dir="$2"
|
||||||
local desc="$3"
|
local desc="$3"
|
||||||
local driver="$4"
|
local driver="$4"
|
||||||
local drivers="/tmp/drivers"
|
local drivers="/tmp/drivers"
|
||||||
|
|
||||||
|
rm -rf "$drivers"
|
||||||
|
mkdir -p "$drivers"
|
||||||
|
|
||||||
ETFS="[BOOT]/Boot-NoEmul.img"
|
ETFS="[BOOT]/Boot-NoEmul.img"
|
||||||
|
|
||||||
if [ ! -f "$dir/$ETFS" ] || [ ! -s "$dir/$ETFS" ]; then
|
if [ ! -f "$dir/$ETFS" ] || [ ! -s "$dir/$ETFS" ]; then
|
||||||
error "Failed to locate file \"$ETFS\" in $desc ISO image!" && return 1
|
error "Failed to locate file \"$ETFS\" in $desc ISO image!" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local arch target
|
|
||||||
[ -d "$dir/AMD64" ] && arch="amd64" || arch="x86"
|
|
||||||
[[ "${arch,,}" == "x86" ]] && target="$dir/I386" || target="$dir/AMD64"
|
|
||||||
|
|
||||||
if [ ! -d "$target" ]; then
|
|
||||||
error "Failed to locate directory \"$target\" in $desc ISO image!" && return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${driver,,}" == "xp" ]] || [[ "${driver,,}" == "2k3" ]]; then
|
|
||||||
|
|
||||||
local msg="Adding drivers to image..."
|
local msg="Adding drivers to image..."
|
||||||
info "$msg" && html "$msg"
|
info "$msg" && html "$msg"
|
||||||
|
|
||||||
rm -rf "$drivers"
|
if ! bsdtar -xf /drivers.txz -C "$drivers"; then
|
||||||
mkdir -p "$drivers"
|
|
||||||
|
|
||||||
if ! bsdtar -xf /var/drivers.txz -C "$drivers"; then
|
|
||||||
error "Failed to extract drivers!" && return 1
|
error "Failed to extract drivers!" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local arch target
|
||||||
|
[ -d "$dir/AMD64" ] && arch="amd64" || arch="x86"
|
||||||
|
[[ "${arch,,}" == "x86" ]] && target="$dir/I386" || target="$dir/AMD64"
|
||||||
|
|
||||||
if [ ! -f "$drivers/viostor/$driver/$arch/viostor.sys" ]; then
|
if [ ! -f "$drivers/viostor/$driver/$arch/viostor.sys" ]; then
|
||||||
error "Failed to locate required storage drivers!" && return 1
|
error "Failed to locate required storage drivers!" && return 1
|
||||||
fi
|
fi
|
||||||
@ -1437,19 +1237,17 @@ prepareInstall() {
|
|||||||
cp -L "$drivers/NetKVM/$driver/$arch/netkvm.inf" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1
|
cp -L "$drivers/NetKVM/$driver/$arch/netkvm.inf" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1
|
||||||
cp -L "$drivers/NetKVM/$driver/$arch/netkvm.sys" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1
|
cp -L "$drivers/NetKVM/$driver/$arch/netkvm.sys" "$dir/\$OEM\$/\$1/Drivers/NetKVM" || return 1
|
||||||
|
|
||||||
file=$(find "$target" -maxdepth 1 -type f -iname TXTSETUP.SIF -print -quit)
|
if [ ! -f "$target/TXTSETUP.SIF" ]; then
|
||||||
|
|
||||||
if [ -z "$file" ]; then
|
|
||||||
error "The file TXTSETUP.SIF could not be found!" && return 1
|
error "The file TXTSETUP.SIF could not be found!" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed -i '/^\[SCSI.Load\]/s/$/\nviostor=viostor.sys,4/' "$file"
|
sed -i '/^\[SCSI.Load\]/s/$/\nviostor=viostor.sys,4/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\nviostor.sys=1,,,,,,4_,4,1,,,1,4/' "$file"
|
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\nviostor.sys=1,,,,,,4_,4,1,,,1,4/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SCSI\]/s/$/\nviostor=\"Red Hat VirtIO SCSI Disk Device\"/' "$file"
|
sed -i '/^\[SCSI\]/s/$/\nviostor=\"Red Hat VirtIO SCSI Disk Device\"/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00000000=\"viostor\"/' "$file"
|
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00000000=\"viostor\"/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00020000=\"viostor\"/' "$file"
|
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00020000=\"viostor\"/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00021AF4=\"viostor\"/' "$file"
|
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00021AF4=\"viostor\"/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00000000=\"viostor\"/' "$file"
|
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_1AF4\&DEV_1001\&SUBSYS_00000000=\"viostor\"/' "$target/TXTSETUP.SIF"
|
||||||
|
|
||||||
if [ ! -d "$drivers/sata/xp/$arch" ]; then
|
if [ ! -d "$drivers/sata/xp/$arch" ]; then
|
||||||
error "Failed to locate required SATA drivers!" && return 1
|
error "Failed to locate required SATA drivers!" && return 1
|
||||||
@ -1459,105 +1257,28 @@ prepareInstall() {
|
|||||||
cp -Lr "$drivers/sata/xp/$arch/." "$dir/\$OEM\$/\$1/Drivers/sata" || return 1
|
cp -Lr "$drivers/sata/xp/$arch/." "$dir/\$OEM\$/\$1/Drivers/sata" || return 1
|
||||||
cp -Lr "$drivers/sata/xp/$arch/." "$target" || return 1
|
cp -Lr "$drivers/sata/xp/$arch/." "$target" || return 1
|
||||||
|
|
||||||
sed -i '/^\[SCSI.Load\]/s/$/\niaStor=iaStor.sys,4/' "$file"
|
sed -i '/^\[SCSI.Load\]/s/$/\niaStor=iaStor.sys,4/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[FileFlags\]/s/$/\niaStor.sys = 16/' "$file"
|
sed -i '/^\[FileFlags\]/s/$/\niaStor.sys = 16/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.cat = 1,,,,,,,1,0,0/' "$file"
|
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.cat = 1,,,,,,,1,0,0/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.inf = 1,,,,,,,1,0,0/' "$file"
|
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.inf = 1,,,,,,,1,0,0/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.sys = 1,,,,,,4_,4,1,,,1,4/' "$file"
|
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.sys = 1,,,,,,4_,4,1,,,1,4/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.sys = 1,,,,,,,1,0,0/' "$file"
|
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaStor.sys = 1,,,,,,,1,0,0/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaahci.cat = 1,,,,,,,1,0,0/' "$file"
|
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaahci.cat = 1,,,,,,,1,0,0/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaAHCI.inf = 1,,,,,,,1,0,0/' "$file"
|
sed -i '/^\[SourceDisksFiles.'"$arch"'\]/s/$/\niaAHCI.inf = 1,,,,,,,1,0,0/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[SCSI\]/s/$/\niaStor=\"Intel\(R\) SATA RAID\/AHCI Controller\"/' "$file"
|
sed -i '/^\[SCSI\]/s/$/\niaStor=\"Intel\(R\) SATA RAID\/AHCI Controller\"/' "$target/TXTSETUP.SIF"
|
||||||
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_8086\&DEV_2922\&CC_0106=\"iaStor\"/' "$file"
|
sed -i '/^\[HardwareIdsDatabase\]/s/$/\nPCI\\VEN_8086\&DEV_2922\&CC_0106=\"iaStor\"/' "$target/TXTSETUP.SIF"
|
||||||
|
|
||||||
rm -rf "$drivers"
|
rm -rf "$drivers"
|
||||||
|
|
||||||
fi
|
local pid file setup
|
||||||
|
setup=$(find "$target" -maxdepth 1 -type f -iname setupp.ini | head -n 1)
|
||||||
local key setup
|
|
||||||
setup=$(find "$target" -maxdepth 1 -type f -iname setupp.ini -print -quit)
|
|
||||||
|
|
||||||
if [ -n "$setup" ] && [ -z "$KEY" ]; then
|
|
||||||
|
|
||||||
pid=$(<"$setup")
|
pid=$(<"$setup")
|
||||||
pid="${pid%$'\r'}"
|
pid="${pid:(-4)}"
|
||||||
|
pid="${pid:0:3}"
|
||||||
if [[ "$driver" == "2k" ]]; then
|
|
||||||
|
|
||||||
echo "${pid:0:$((${#pid})) - 3}270" > "$setup"
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
if [[ "$pid" == *"270" ]]; then
|
|
||||||
|
|
||||||
|
if [[ "$pid" == "270" ]]; then
|
||||||
warn "this version of $desc requires a volume license key (VLK), it will ask for one during installation."
|
warn "this version of $desc requires a volume license key (VLK), it will ask for one during installation."
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
file=$(find "$target" -maxdepth 1 -type f -iname PID.INF -print -quit)
|
|
||||||
|
|
||||||
if [ -n "$file" ]; then
|
|
||||||
|
|
||||||
if [[ "$driver" == "2k3" ]]; then
|
|
||||||
|
|
||||||
key=$(grep -i -A 2 "StagingKey" "$file" | tail -n 2 | head -n 1)
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
key="${pid:$((${#pid})) - 8:5}"
|
|
||||||
if [[ "${pid^^}" == *"OEM" ]]; then
|
|
||||||
key=$(grep -i -A 2 "$key" "$file" | tail -n 2 | head -n 1)
|
|
||||||
else
|
|
||||||
key=$(grep -i -m 1 -A 2 "$key" "$file" | tail -n 2 | head -n 1)
|
|
||||||
fi
|
fi
|
||||||
key="${key#*= }"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
key="${key%$'\r'}"
|
|
||||||
[[ "${#key}" == "29" ]] && KEY="$key"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$KEY" ]; then
|
|
||||||
|
|
||||||
# These are NOT pirated keys, they come from official MS documentation.
|
|
||||||
|
|
||||||
case "${driver,,}" in
|
|
||||||
"xp" )
|
|
||||||
|
|
||||||
if [[ "${arch,,}" == "x86" ]]; then
|
|
||||||
# Windows XP Professional x86 generic trial key (no activation)
|
|
||||||
KEY="DR8GV-C8V6J-BYXHG-7PYJR-DB66Y"
|
|
||||||
else
|
|
||||||
# Windows XP Professional x64 generic trial key (no activation)
|
|
||||||
KEY="B2RBK-7KPT9-4JP6X-QQFWM-PJD6G"
|
|
||||||
fi ;;
|
|
||||||
|
|
||||||
"2k3" )
|
|
||||||
|
|
||||||
if [[ "${arch,,}" == "x86" ]]; then
|
|
||||||
# Windows Server 2003 Standard x86 generic trial key (no activation)
|
|
||||||
KEY="QKDCQ-TP2JM-G4MDG-VR6F2-P9C48"
|
|
||||||
else
|
|
||||||
# Windows Server 2003 Standard x64 generic trial key (no activation)
|
|
||||||
KEY="P4WJG-WK3W7-3HM8W-RWHCK-8JTRY"
|
|
||||||
fi ;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "${pid:0:$((${#pid})) - 3}000" > "$setup"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -n "$KEY" ] && KEY="ProductID=$KEY"
|
|
||||||
|
|
||||||
mkdir -p "$dir/\$OEM\$"
|
|
||||||
|
|
||||||
if ! addFolder "$dir"; then
|
if ! addFolder "$dir"; then
|
||||||
error "Failed to add OEM folder to image!" && return 1
|
error "Failed to add OEM folder to image!" && return 1
|
||||||
@ -1573,17 +1294,30 @@ prepareInstall() {
|
|||||||
XHEX=$(printf '%x\n' "$WIDTH")
|
XHEX=$(printf '%x\n' "$WIDTH")
|
||||||
YHEX=$(printf '%x\n' "$HEIGHT")
|
YHEX=$(printf '%x\n' "$HEIGHT")
|
||||||
|
|
||||||
local username=""
|
local username="Docker"
|
||||||
local password=""
|
local password="*"
|
||||||
|
|
||||||
|
[ -n "$PASSWORD" ] && password="$PASSWORD"
|
||||||
[ -n "$USERNAME" ] && username=$(echo "$USERNAME" | sed 's/[^[:alnum:]@!._-]//g')
|
[ -n "$USERNAME" ] && username=$(echo "$USERNAME" | sed 's/[^[:alnum:]@!._-]//g')
|
||||||
[ -z "$username" ] && username="Docker"
|
|
||||||
|
|
||||||
[ -n "$PASSWORD" ] && password=$(echo "$PASSWORD" | sed 's/"//g')
|
# These are not pirated keys, they come from the official MS documentation.
|
||||||
[ -z "$password" ] && password="admin"
|
if [[ "${driver,,}" == "xp" ]]; then
|
||||||
|
if [[ "${arch,,}" == "x86" ]]; then
|
||||||
local ip="20.20.20.1"
|
# Windows XP Professional x86 generic key (no activation, trial-only)
|
||||||
[ -n "${VM_NET_IP:-}" ] && ip="${VM_NET_IP%.*}.1"
|
[ -z "$KEY" ] && KEY="DR8GV-C8V6J-BYXHG-7PYJR-DB66Y"
|
||||||
|
else
|
||||||
|
# Windows XP Professional x64 generic key (no activation, trial-only)
|
||||||
|
[ -z "$KEY" ] && KEY="B2RBK-7KPT9-4JP6X-QQFWM-PJD6G"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [[ "${arch,,}" == "x86" ]]; then
|
||||||
|
# Windows Server 2003 Standard x86 generic key (no activation, trial-only)
|
||||||
|
[ -z "$KEY" ] && KEY="QKDCQ-TP2JM-G4MDG-VR6F2-P9C48"
|
||||||
|
else
|
||||||
|
# Windows Server 2003 Standard x64 generic key (no activation, trial-only)
|
||||||
|
[ -z "$KEY" ] && KEY="P4WJG-WK3W7-3HM8W-RWHCK-8JTRY"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
find "$target" -maxdepth 1 -type f -iname winnt.sif -exec rm {} \;
|
find "$target" -maxdepth 1 -type f -iname winnt.sif -exec rm {} \;
|
||||||
|
|
||||||
@ -1622,7 +1356,7 @@ prepareInstall() {
|
|||||||
echo " FullName=\"$username\""
|
echo " FullName=\"$username\""
|
||||||
echo " ComputerName=\"*\""
|
echo " ComputerName=\"*\""
|
||||||
echo " OrgName=\"Windows for Docker\""
|
echo " OrgName=\"Windows for Docker\""
|
||||||
echo " $KEY"
|
echo " ProductKey=$KEY"
|
||||||
echo ""
|
echo ""
|
||||||
echo "[Identification]"
|
echo "[Identification]"
|
||||||
echo " JoinWorkgroup = WORKGROUP"
|
echo " JoinWorkgroup = WORKGROUP"
|
||||||
@ -1672,24 +1406,21 @@ prepareInstall() {
|
|||||||
echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]"
|
echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]"
|
||||||
echo "\"3389:TCP\"=\"3389:TCP:*:Enabled:@xpsp2res.dll,-22009\""
|
echo "\"3389:TCP\"=\"3389:TCP:*:Enabled:@xpsp2res.dll,-22009\""
|
||||||
echo ""
|
echo ""
|
||||||
|
echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]"
|
||||||
|
echo "\"LimitBlankPasswordUse\"=dword:00000000"
|
||||||
|
echo ""
|
||||||
echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Tour]"
|
echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Tour]"
|
||||||
echo "\"RunCount\"=dword:00000000"
|
echo "\"RunCount\"=dword:00000000"
|
||||||
echo ""
|
echo ""
|
||||||
echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]"
|
echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]"
|
||||||
echo "\"HideFileExt\"=dword:00000000"
|
echo "\"HideFileExt\"=dword:00000000"
|
||||||
echo ""
|
echo ""
|
||||||
echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]"
|
|
||||||
echo "\"NoWelcomeScreen\"=\"1\""
|
|
||||||
echo ""
|
|
||||||
echo "[HKEY_CURRENT_USER\Software\Microsoft\Internet Connection Wizard]"
|
|
||||||
echo "\"Completed\"=\"1\""
|
|
||||||
echo "\"Desktopchanged\"=\"1\""
|
|
||||||
echo ""
|
|
||||||
echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]"
|
echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]"
|
||||||
echo "\"AutoAdminLogon\"=\"1\""
|
|
||||||
echo "\"DefaultUserName\"=\"$username\""
|
echo "\"DefaultUserName\"=\"$username\""
|
||||||
echo "\"DefaultPassword\"=\"$password\""
|
|
||||||
echo "\"DefaultDomainName\"=\"Dockur\""
|
echo "\"DefaultDomainName\"=\"Dockur\""
|
||||||
|
echo "\"AltDefaultUserName\"=\"$username\""
|
||||||
|
echo "\"AltDefaultDomainName\"=\"Dockur\""
|
||||||
|
echo "\"AutoAdminLogon\"=\"1\""
|
||||||
echo ""
|
echo ""
|
||||||
echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000]"
|
echo "[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Video\{23A77BF7-ED96-40EC-AF06-9B1F4867732A}\0000]"
|
||||||
echo "\"DefaultSettings.BitsPerPel\"=dword:00000020"
|
echo "\"DefaultSettings.BitsPerPel\"=dword:00000020"
|
||||||
@ -1708,18 +1439,11 @@ prepareInstall() {
|
|||||||
echo ""
|
echo ""
|
||||||
} | unix2dos > "$dir/\$OEM\$/install.reg"
|
} | unix2dos > "$dir/\$OEM\$/install.reg"
|
||||||
|
|
||||||
if [[ "$driver" == "2k" ]]; then
|
|
||||||
{ echo "[HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Runonce]"
|
|
||||||
echo "\"^SetupICWDesktop\"=-"
|
|
||||||
echo ""
|
|
||||||
} | unix2dos >> "$dir/\$OEM\$/install.reg"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$driver" == "2k3" ]]; then
|
if [[ "$driver" == "2k3" ]]; then
|
||||||
{ echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\srvWiz]"
|
{ echo "[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\srvWiz]"
|
||||||
echo "@=dword:00000000"
|
echo "@=dword:00000000"
|
||||||
echo ""
|
echo ""
|
||||||
echo "[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ServerOOBE\SecurityOOBE]"
|
echo "[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ServerOOBE\SecurityOOBE]"
|
||||||
echo "\"DontLaunchSecurityOOBE\"=dword:00000000"
|
echo "\"DontLaunchSecurityOOBE\"=dword:00000000"
|
||||||
echo ""
|
echo ""
|
||||||
} | unix2dos >> "$dir/\$OEM\$/install.reg"
|
} | unix2dos >> "$dir/\$OEM\$/install.reg"
|
||||||
@ -1767,14 +1491,6 @@ prepareInstall() {
|
|||||||
echo ""
|
echo ""
|
||||||
echo "Call Domain.MoveHere(LocalAdminADsPath, \"$username\")"
|
echo "Call Domain.MoveHere(LocalAdminADsPath, \"$username\")"
|
||||||
echo ""
|
echo ""
|
||||||
echo "With (CreateObject(\"Scripting.FileSystemObject\"))"
|
|
||||||
echo " SysRoot = WshShell.ExpandEnvironmentStrings(\"%SystemRoot%\")"
|
|
||||||
echo " Set oFile = .OpenTextFile(SysRoot & \"\system32\drivers\etc\hosts\", 8, true)"
|
|
||||||
echo " oFile.Write(\"$ip host.lan\")"
|
|
||||||
echo " oFile.Close()"
|
|
||||||
echo " Set oFile = Nothing"
|
|
||||||
echo "End With"
|
|
||||||
echo ""
|
|
||||||
} | unix2dos > "$dir/\$OEM\$/admin.vbs"
|
} | unix2dos > "$dir/\$OEM\$/admin.vbs"
|
||||||
|
|
||||||
{ echo "[COMMANDS]"
|
{ echo "[COMMANDS]"
|
||||||
@ -1814,59 +1530,34 @@ prepareLegacy() {
|
|||||||
detectLegacy() {
|
detectLegacy() {
|
||||||
|
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
local find
|
local find find2
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type d -iname WIN95 -print -quit)
|
find=$(find "$dir" -maxdepth 1 -type d -iname win95 | head -n 1)
|
||||||
[ -n "$find" ] && DETECTED="win95" && return 0
|
[ -n "$find" ] && DETECTED="win95" && return 0
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type d -iname WIN98 -print -quit)
|
find=$(find "$dir" -maxdepth 1 -type d -iname win98 | head -n 1)
|
||||||
[ -n "$find" ] && DETECTED="win98" && return 0
|
[ -n "$find" ] && DETECTED="win98" && return 0
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type d -iname WIN9X -print -quit)
|
find=$(find "$dir" -maxdepth 1 -type d -iname win9x | head -n 1)
|
||||||
[ -n "$find" ] && DETECTED="win9x" && return 0
|
[ -n "$find" ] && DETECTED="win9x" && return 0
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_W.40 -print -quit)
|
find=$(find "$dir" -maxdepth 1 -type f -iname cdrom_nt.5 | head -n 1)
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_S.40 -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_TS.40 -print -quit)
|
|
||||||
[ -n "$find" ] && DETECTED="winnt4" && return 0
|
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_NT.5 -print -quit)
|
|
||||||
|
|
||||||
if [ -n "$find" ]; then
|
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_IA.5 -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_ID.5 -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_IP.5 -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname CDROM_IS.5 -print -quit)
|
|
||||||
[ -n "$find" ] && DETECTED="win2k" && return 0
|
[ -n "$find" ] && DETECTED="win2k" && return 0
|
||||||
|
|
||||||
|
find=$(find "$dir" -maxdepth 1 -type d -iname win51 | head -n 1)
|
||||||
|
find2=$(find "$dir" -maxdepth 1 -type f -iname setupxp.htm | head -n 1)
|
||||||
|
|
||||||
|
if [ -n "$find" ] || [ -n "$find2" ] || [ -f "$dir/WIN51AP" ] || [ -f "$dir/WIN51IC" ]; then
|
||||||
|
[ -d "$dir/AMD64" ] && DETECTED="winxpx64" && return 0
|
||||||
|
DETECTED="winxpx86" && return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -iname WIN51 -print -quit)
|
if [ -f "$dir/WIN51IA" ] || [ -f "$dir/WIN51IB" ] || [ -f "$dir/WIN51ID" ] || [ -f "$dir/WIN51IL" ] || [ -f "$dir/WIN51IS" ]; then
|
||||||
|
DETECTED="win2003r2" && return 0
|
||||||
if [ -n "$find" ]; then
|
fi
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AP -print -quit)
|
|
||||||
[ -n "$find" ] && DETECTED="winxpx64" && return 0
|
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IC -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IP -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname setupxp.htm -print -quit)
|
|
||||||
[ -n "$find" ] && DETECTED="winxpx86" && return 0
|
|
||||||
|
|
||||||
find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IS -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IA -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IB -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51ID -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IL -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51IS -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AA -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AD -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51AS -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51MA -print -quit)
|
|
||||||
[ -z "$find" ] && find=$(find "$dir" -maxdepth 1 -type f -iname WIN51MD -print -quit)
|
|
||||||
[ -n "$find" ] && DETECTED="win2003r2" && return 0
|
|
||||||
|
|
||||||
|
if [ -f "$dir/WIN51AA" ] || [ -f "$dir/WIN51AD" ] || [ -f "$dir/WIN51AS" ] || [ -f "$dir/WIN51MA" ] || [ -f "$dir/WIN51MD" ]; then
|
||||||
|
DETECTED="win2003r2" && return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
@ -1895,9 +1586,7 @@ setMachine() {
|
|||||||
"win9"* )
|
"win9"* )
|
||||||
ETFS="[BOOT]/Boot-1.44M.img" ;;
|
ETFS="[BOOT]/Boot-1.44M.img" ;;
|
||||||
"win2k"* )
|
"win2k"* )
|
||||||
if ! prepareInstall "$iso" "$dir" "$desc" "2k"; then
|
ETFS="[BOOT]/Boot-NoEmul.img" ;;
|
||||||
error "Failed to prepare $desc ISO!" && return 1
|
|
||||||
fi ;;
|
|
||||||
"winxp"* )
|
"winxp"* )
|
||||||
if ! prepareInstall "$iso" "$dir" "$desc" "xp"; then
|
if ! prepareInstall "$iso" "$dir" "$desc" "xp"; then
|
||||||
error "Failed to prepare $desc ISO!" && return 1
|
error "Failed to prepare $desc ISO!" && return 1
|
||||||
@ -1909,20 +1598,10 @@ setMachine() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
case "${id,,}" in
|
case "${id,,}" in
|
||||||
"win9"* )
|
"win9"* | "win2k"* )
|
||||||
USB="no"
|
|
||||||
VGA="cirrus"
|
|
||||||
DISK_TYPE="auto"
|
DISK_TYPE="auto"
|
||||||
ADAPTER="rtl8139"
|
|
||||||
MACHINE="pc-i440fx-2.4"
|
MACHINE="pc-i440fx-2.4"
|
||||||
BOOT_MODE="windows_legacy" ;;
|
BOOT_MODE="windows_legacy" ;;
|
||||||
"win2k"* )
|
|
||||||
VGA="cirrus"
|
|
||||||
MACHINE="pc"
|
|
||||||
USB="pci-ohci"
|
|
||||||
DISK_TYPE="auto"
|
|
||||||
ADAPTER="rtl8139"
|
|
||||||
BOOT_MODE="windows_legacy" ;;
|
|
||||||
"winxp"* | "win2003"* )
|
"winxp"* | "win2003"* )
|
||||||
DISK_TYPE="blk"
|
DISK_TYPE="blk"
|
||||||
BOOT_MODE="windows_legacy" ;;
|
BOOT_MODE="windows_legacy" ;;
|
||||||
|
10
src/entry.sh
10
src/entry.sh
@ -2,16 +2,14 @@
|
|||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
: "${APP:="Windows"}"
|
: "${APP:="Windows"}"
|
||||||
: "${PLATFORM:="x64"}"
|
|
||||||
: "${BOOT_MODE:="windows"}"
|
: "${BOOT_MODE:="windows"}"
|
||||||
: "${SUPPORT:="https://github.com/dockur/windows"}"
|
: "${SUPPORT:="https://github.com/dockur/windows"}"
|
||||||
|
|
||||||
cd /run
|
cd /run
|
||||||
|
|
||||||
. utils.sh # Load functions
|
|
||||||
. reset.sh # Initialize system
|
. reset.sh # Initialize system
|
||||||
. define.sh # Define versions
|
. define.sh # Define versions
|
||||||
. mido.sh # Download Windows
|
. mido.sh # Download code
|
||||||
. install.sh # Run installation
|
. install.sh # Run installation
|
||||||
. disk.sh # Initialize disks
|
. disk.sh # Initialize disks
|
||||||
. display.sh # Initialize graphics
|
. display.sh # Initialize graphics
|
||||||
@ -33,10 +31,8 @@ info "Booting ${APP}${BOOT_DESC} using QEMU v$version..."
|
|||||||
terminal
|
terminal
|
||||||
( sleep 30; boot ) &
|
( sleep 30; boot ) &
|
||||||
tail -fn +0 "$QEMU_LOG" 2>/dev/null &
|
tail -fn +0 "$QEMU_LOG" 2>/dev/null &
|
||||||
cat "$QEMU_TERM" 2> /dev/null | tee "$QEMU_PTY" | \
|
cat "$QEMU_TERM" 2> /dev/null | tee "$QEMU_PTY" &
|
||||||
sed -u -e 's/\x1B\[[=0-9;]*[a-z]//gi' \
|
wait $! || :
|
||||||
-e 's/failed to load Boot/skipped Boot/g' \
|
|
||||||
-e 's/0): Not Found/0)/g' & wait $! || :
|
|
||||||
|
|
||||||
sleep 1 & wait $!
|
sleep 1 & wait $!
|
||||||
[ ! -f "$QEMU_END" ] && finish 0
|
[ ! -f "$QEMU_END" ] && finish 0
|
||||||
|
185
src/install.sh
185
src/install.sh
@ -10,31 +10,21 @@ EFISYS="efi/microsoft/boot/efisys_noprompt.bin"
|
|||||||
skipInstall() {
|
skipInstall() {
|
||||||
|
|
||||||
local iso="$1"
|
local iso="$1"
|
||||||
local method=""
|
|
||||||
local magic byte
|
local magic byte
|
||||||
local boot="$STORAGE/windows.boot"
|
local boot="$STORAGE/windows.boot"
|
||||||
local previous="$STORAGE/windows.base"
|
local previous="$STORAGE/windows.base"
|
||||||
|
|
||||||
if [ -f "$previous" ]; then
|
if [ -f "$previous" ]; then
|
||||||
previous=$(<"$previous")
|
previous=$(<"$previous")
|
||||||
previous="${previous//[![:print:]]/}"
|
|
||||||
if [ -n "$previous" ]; then
|
if [ -n "$previous" ]; then
|
||||||
if [[ "${STORAGE,,}/${previous,,}" != "${iso,,}" ]]; then
|
previous="$STORAGE/$previous"
|
||||||
|
if [[ "${previous,,}" != "${iso,,}" ]]; then
|
||||||
if [ -f "$boot" ] && hasDisk; then
|
if [ -f "$boot" ] && hasDisk; then
|
||||||
if [[ "${iso,,}" == "${STORAGE,,}/windows."* ]]; then
|
info "Detected that the version was changed, but ignoring this because Windows is already installed."
|
||||||
method="your custom .iso file"
|
|
||||||
else
|
|
||||||
if [[ "${previous,,}" != "windows."* ]]; then
|
|
||||||
method="the VERSION variable"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ -n "$method" ]; then
|
|
||||||
info "Detected that $method was changed, but ignoring this because Windows is already installed."
|
|
||||||
info "Please start with an empty /storage folder, if you want to install a different version of Windows."
|
info "Please start with an empty /storage folder, if you want to install a different version of Windows."
|
||||||
fi
|
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
rm -f "$STORAGE/$previous"
|
[ -f "$previous" ] && rm -f "$previous"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -128,8 +118,6 @@ finishInstall() {
|
|||||||
|
|
||||||
rm -f "$STORAGE/windows.old"
|
rm -f "$STORAGE/windows.old"
|
||||||
rm -f "$STORAGE/windows.vga"
|
rm -f "$STORAGE/windows.vga"
|
||||||
rm -f "$STORAGE/windows.net"
|
|
||||||
rm -f "$STORAGE/windows.usb"
|
|
||||||
rm -f "$STORAGE/windows.args"
|
rm -f "$STORAGE/windows.args"
|
||||||
rm -f "$STORAGE/windows.base"
|
rm -f "$STORAGE/windows.base"
|
||||||
rm -f "$STORAGE/windows.boot"
|
rm -f "$STORAGE/windows.boot"
|
||||||
@ -172,22 +160,10 @@ finishInstall() {
|
|||||||
echo "$ARGS" > "$STORAGE/windows.args"
|
echo "$ARGS" > "$STORAGE/windows.args"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${VGA:-}" ] && [[ "${VGA:-}" != "virtio"* ]]; then
|
|
||||||
echo "$VGA" > "$STORAGE/windows.vga"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "${USB:-}" ] && [[ "${USB:-}" != "qemu-xhci"* ]]; then
|
|
||||||
echo "$USB" > "$STORAGE/windows.usb"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "${DISK_TYPE:-}" ] && [[ "${DISK_TYPE:-}" != "scsi" ]]; then
|
if [ -n "${DISK_TYPE:-}" ] && [[ "${DISK_TYPE:-}" != "scsi" ]]; then
|
||||||
echo "$DISK_TYPE" > "$STORAGE/windows.type"
|
echo "$DISK_TYPE" > "$STORAGE/windows.type"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${ADAPTER:-}" ] && [[ "${ADAPTER:-}" != "virtio-net-pci" ]]; then
|
|
||||||
echo "$ADAPTER" > "$STORAGE/windows.net"
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf "$TMP"
|
rm -rf "$TMP"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -199,9 +175,8 @@ abortInstall() {
|
|||||||
local efi
|
local efi
|
||||||
|
|
||||||
[[ "${iso,,}" == *".esd" ]] && exit 60
|
[[ "${iso,,}" == *".esd" ]] && exit 60
|
||||||
[[ "${UNPACK:-}" == [Yy1]* ]] && exit 60
|
|
||||||
|
|
||||||
efi=$(find "$dir" -maxdepth 1 -type d -iname efi -print -quit)
|
efi=$(find "$dir" -maxdepth 1 -type d -iname efi | head -n 1)
|
||||||
|
|
||||||
if [ -z "$efi" ]; then
|
if [ -z "$efi" ]; then
|
||||||
[[ "${PLATFORM,,}" == "x64" ]] && BOOT_MODE="windows_legacy"
|
[[ "${PLATFORM,,}" == "x64" ]] && BOOT_MODE="windows_legacy"
|
||||||
@ -222,23 +197,19 @@ abortInstall() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
findFile() {
|
detectCustom() {
|
||||||
|
|
||||||
local dir file base
|
local file base
|
||||||
local fname="$1"
|
local fname="custom.iso"
|
||||||
local boot="$STORAGE/windows.boot"
|
|
||||||
|
|
||||||
dir=$(find / -maxdepth 1 -type d -iname "$fname" -print -quit)
|
CUSTOM=""
|
||||||
[ ! -d "$dir" ] && dir=$(find "$STORAGE" -maxdepth 1 -type d -iname "$fname" -print -quit)
|
|
||||||
|
|
||||||
if [ -d "$dir" ]; then
|
if [ -d "/$fname" ]; then
|
||||||
if ! hasDisk || [ ! -f "$boot" ]; then
|
error "The file /$fname has an invalid path!" && return 1
|
||||||
error "The bind $dir maps to a file that does not exist!" && return 1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
file=$(find / -maxdepth 1 -type f -iname "$fname" -print -quit)
|
file=$(find / -maxdepth 1 -type f -iname "$fname" | head -n 1)
|
||||||
[ ! -s "$file" ] && file=$(find "$STORAGE" -maxdepth 1 -type f -iname "$fname" -print -quit)
|
[ ! -s "$file" ] && file=$(find "$STORAGE" -maxdepth 1 -type f -iname "$fname" | head -n 1)
|
||||||
|
|
||||||
if [ ! -s "$file" ] && [[ "${VERSION,,}" != "http"* ]]; then
|
if [ ! -s "$file" ] && [[ "${VERSION,,}" != "http"* ]]; then
|
||||||
base=$(basename "$VERSION")
|
base=$(basename "$VERSION")
|
||||||
@ -254,25 +225,12 @@ findFile() {
|
|||||||
[ -z "$size" ] || [[ "$size" == "0" ]] && return 0
|
[ -z "$size" ] || [[ "$size" == "0" ]] && return 0
|
||||||
|
|
||||||
ISO="$file"
|
ISO="$file"
|
||||||
CUSTOM="$file"
|
CUSTOM="$ISO"
|
||||||
BOOT="$STORAGE/windows.$size.iso"
|
BOOT="$STORAGE/windows.$size.iso"
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
detectCustom() {
|
|
||||||
|
|
||||||
CUSTOM=""
|
|
||||||
|
|
||||||
! findFile "custom.iso" && return 1
|
|
||||||
[ -n "$CUSTOM" ] && return 0
|
|
||||||
|
|
||||||
! findFile "boot.iso" && return 1
|
|
||||||
[ -n "$CUSTOM" ] && return 0
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
extractESD() {
|
extractESD() {
|
||||||
|
|
||||||
local iso="$1"
|
local iso="$1"
|
||||||
@ -292,12 +250,12 @@ extractESD() {
|
|||||||
mkdir -p "$dir"
|
mkdir -p "$dir"
|
||||||
|
|
||||||
size=16106127360
|
size=16106127360
|
||||||
size_gb=$(formatBytes "$size")
|
size_gb=$(( (size + 1073741823)/1073741824 ))
|
||||||
space=$(df --output=avail -B 1 "$dir" | tail -n 1)
|
space=$(df --output=avail -B 1 "$dir" | tail -n 1)
|
||||||
space_gb=$(formatBytes "$space")
|
space_gb=$(( (space + 1073741823)/1073741824 ))
|
||||||
|
|
||||||
if (( size > space )); then
|
if (( size > space )); then
|
||||||
error "Not enough free space in $STORAGE, have $space_gb available but need at least $size_gb." && return 1
|
error "Not enough free space in $STORAGE, have $space_gb GB available but need at least $size_gb GB." && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local esdImageCount
|
local esdImageCount
|
||||||
@ -362,7 +320,7 @@ extractImage() {
|
|||||||
local dir="$2"
|
local dir="$2"
|
||||||
local version="$3"
|
local version="$3"
|
||||||
local desc="local ISO"
|
local desc="local ISO"
|
||||||
local file size size_gb space space_gb
|
local size size_gb space space_gb
|
||||||
|
|
||||||
if [ -z "$CUSTOM" ]; then
|
if [ -z "$CUSTOM" ]; then
|
||||||
desc="downloaded ISO"
|
desc="downloaded ISO"
|
||||||
@ -383,16 +341,16 @@ extractImage() {
|
|||||||
mkdir -p "$dir"
|
mkdir -p "$dir"
|
||||||
|
|
||||||
size=$(stat -c%s "$iso")
|
size=$(stat -c%s "$iso")
|
||||||
size_gb=$(formatBytes "$size")
|
size_gb=$(( (size + 1073741823)/1073741824 ))
|
||||||
space=$(df --output=avail -B 1 "$dir" | tail -n 1)
|
space=$(df --output=avail -B 1 "$dir" | tail -n 1)
|
||||||
space_gb=$(formatBytes "$space")
|
space_gb=$(( (space + 1073741823)/1073741824 ))
|
||||||
|
|
||||||
if ((size<100000000)); then
|
if ((size<100000000)); then
|
||||||
error "Invalid ISO file: Size is smaller than 100 MB" && return 1
|
error "Invalid ISO file: Size is smaller than 100 MB" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( size > space )); then
|
if (( size > space )); then
|
||||||
error "Not enough free space in $STORAGE, have $space_gb available but need at least $size_gb." && return 1
|
error "Not enough free space in $STORAGE, have $space_gb GB available but need at least $size_gb GB." && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf "$dir"
|
rm -rf "$dir"
|
||||||
@ -401,27 +359,8 @@ extractImage() {
|
|||||||
error "Failed to extract ISO file: $iso" && return 1
|
error "Failed to extract ISO file: $iso" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${UNPACK:-}" != [Yy1]* ]]; then
|
|
||||||
|
|
||||||
LABEL=$(isoinfo -d -i "$iso" | sed -n 's/Volume id: //p')
|
LABEL=$(isoinfo -d -i "$iso" | sed -n 's/Volume id: //p')
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
file=$(find "$dir" -maxdepth 1 -type f -iname "*.iso" -print -quit)
|
|
||||||
|
|
||||||
if [ -z "$file" ]; then
|
|
||||||
error "Failed to find any .iso file in archive!" && return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! 7z x "$file" -o"$dir" > /dev/null; then
|
|
||||||
error "Failed to extract archive!" && return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
LABEL=$(isoinfo -d -i "$file" | sed -n 's/Volume id: //p')
|
|
||||||
rm -f "$file"
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -555,7 +494,7 @@ setXML() {
|
|||||||
local file="/custom.xml"
|
local file="/custom.xml"
|
||||||
|
|
||||||
if [ -d "$file" ]; then
|
if [ -d "$file" ]; then
|
||||||
error "The bind $file maps to a file that does not exist!" && exit 67
|
warn "The file $file has an invalid path!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ ! -f "$file" ] || [ ! -s "$file" ] && file="$STORAGE/custom.xml"
|
[ ! -f "$file" ] || [ ! -s "$file" ] && file="$STORAGE/custom.xml"
|
||||||
@ -602,14 +541,14 @@ detectImage() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
local src wim info
|
local src wim info
|
||||||
src=$(find "$dir" -maxdepth 1 -type d -iname sources -print -quit)
|
src=$(find "$dir" -maxdepth 1 -type d -iname sources | head -n 1)
|
||||||
|
|
||||||
if [ ! -d "$src" ]; then
|
if [ ! -d "$src" ]; then
|
||||||
warn "failed to locate 'sources' folder in ISO image, $FB" && return 1
|
warn "failed to locate 'sources' folder in ISO image, $FB" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wim=$(find "$src" -maxdepth 1 -type f -iname install.wim -print -quit)
|
wim=$(find "$src" -maxdepth 1 -type f -iname install.wim | head -n 1)
|
||||||
[ ! -f "$wim" ] && wim=$(find "$src" -maxdepth 1 -type f -iname install.esd -print -quit)
|
[ ! -f "$wim" ] && wim=$(find "$src" -maxdepth 1 -type f -iname install.esd | head -n 1)
|
||||||
|
|
||||||
if [ ! -f "$wim" ]; then
|
if [ ! -f "$wim" ]; then
|
||||||
warn "failed to locate 'install.wim' or 'install.esd' in ISO image, $FB" && return 1
|
warn "failed to locate 'install.wim' or 'install.esd' in ISO image, $FB" && return 1
|
||||||
@ -642,10 +581,6 @@ detectImage() {
|
|||||||
info "Detected: $desc"
|
info "Detected: $desc"
|
||||||
setXML "" && return 0
|
setXML "" && return 0
|
||||||
|
|
||||||
if [[ "$DETECTED" == "win81x86"* ]] || [[ "$DETECTED" == "win10x86"* ]]; then
|
|
||||||
error "The 32-bit version of $desc is not supported!" && return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
msg="the answer file for $desc was not found ($DETECTED.xml)"
|
msg="the answer file for $desc was not found ($DETECTED.xml)"
|
||||||
local fallback="/run/assets/${DETECTED%%-*}.xml"
|
local fallback="/run/assets/${DETECTED%%-*}.xml"
|
||||||
|
|
||||||
@ -693,10 +628,6 @@ updateXML() {
|
|||||||
local language="$2"
|
local language="$2"
|
||||||
local culture region user admin pass keyboard
|
local culture region user admin pass keyboard
|
||||||
|
|
||||||
if [ -n "${VM_NET_IP:-}" ]; then
|
|
||||||
sed -i "s/ 20.20.20.1 / ${VM_NET_IP%.*}.1 /g" "$asset"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[ -z "$HEIGHT" ] && HEIGHT="720"
|
[ -z "$HEIGHT" ] && HEIGHT="720"
|
||||||
[ -z "$WIDTH" ] && WIDTH="1280"
|
[ -z "$WIDTH" ] && WIDTH="1280"
|
||||||
|
|
||||||
@ -734,17 +665,16 @@ updateXML() {
|
|||||||
sed -i "s/<Username>Docker<\/Username>/<Username>$user<\/Username>/g" "$asset"
|
sed -i "s/<Username>Docker<\/Username>/<Username>$user<\/Username>/g" "$asset"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$PASSWORD" ] && pass="$PASSWORD" || pass="admin"
|
if [ -n "$PASSWORD" ]; then
|
||||||
|
pass=$(printf '%s' "${PASSWORD}Password" | iconv -f utf-8 -t utf-16le | base64 -w 0)
|
||||||
pw=$(printf '%s' "${pass}Password" | iconv -f utf-8 -t utf-16le | base64 -w 0)
|
admin=$(printf '%s' "${PASSWORD}AdministratorPassword" | iconv -f utf-8 -t utf-16le | base64 -w 0)
|
||||||
admin=$(printf '%s' "${pass}AdministratorPassword" | iconv -f utf-8 -t utf-16le | base64 -w 0)
|
|
||||||
|
|
||||||
sed -i "s/<Value>password<\/Value>/<Value>$admin<\/Value>/g" "$asset"
|
sed -i "s/<Value>password<\/Value>/<Value>$admin<\/Value>/g" "$asset"
|
||||||
sed -i "s/<PlainText>true<\/PlainText>/<PlainText>false<\/PlainText>/g" "$asset"
|
sed -i "s/<PlainText>true<\/PlainText>/<PlainText>false<\/PlainText>/g" "$asset"
|
||||||
sed -z "s/<Password>...........<Value \/>/<Password>\n <Value>$pw<\/Value>/g" -i "$asset"
|
sed -z "s/<Password>...........<Value \/>/<Password>\n <Value>$pass<\/Value>/g" -i "$asset"
|
||||||
sed -z "s/<Password>...............<Value \/>/<Password>\n <Value>$pw<\/Value>/g" -i "$asset"
|
sed -z "s/<Password>...............<Value \/>/<Password>\n <Value>$pass<\/Value>/g" -i "$asset"
|
||||||
sed -z "s/<AdministratorPassword>...........<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset"
|
sed -z "s/<AdministratorPassword>...........<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset"
|
||||||
sed -z "s/<AdministratorPassword>...............<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset"
|
sed -z "s/<AdministratorPassword>...............<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "$EDITION" ]; then
|
if [ -n "$EDITION" ]; then
|
||||||
[[ "${EDITION^^}" == "CORE" ]] && EDITION="STANDARDCORE"
|
[[ "${EDITION^^}" == "CORE" ]] && EDITION="STANDARDCORE"
|
||||||
@ -792,11 +722,7 @@ addDriver() {
|
|||||||
|
|
||||||
if [ -z "$folder" ]; then
|
if [ -z "$folder" ]; then
|
||||||
desc=$(printVersion "$id" "$id")
|
desc=$(printVersion "$id" "$id")
|
||||||
if [[ "${id,,}" != *"x86"* ]]; then
|
|
||||||
warn "no \"$driver\" driver available for \"$desc\" !" && return 0
|
warn "no \"$driver\" driver available for \"$desc\" !" && return 0
|
||||||
else
|
|
||||||
warn "no \"$driver\" driver available for the 32-bit version of \"$desc\" !" && return 0
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ ! -d "$path/$driver/$folder" ] && return 0
|
[ ! -d "$path/$driver/$folder" ] && return 0
|
||||||
@ -834,7 +760,7 @@ addDrivers() {
|
|||||||
warn "Windows version unknown, falling back to Windows 11 drivers..."
|
warn "Windows version unknown, falling back to Windows 11 drivers..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! bsdtar -xf /var/drivers.txz -C "$drivers"; then
|
if ! bsdtar -xf /drivers.txz -C "$drivers"; then
|
||||||
error "Failed to extract drivers from archive!" && return 1
|
error "Failed to extract drivers from archive!" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -903,14 +829,14 @@ updateImage() {
|
|||||||
rm -rf "$tmp"
|
rm -rf "$tmp"
|
||||||
mkdir -p "$tmp"
|
mkdir -p "$tmp"
|
||||||
|
|
||||||
src=$(find "$dir" -maxdepth 1 -type d -iname sources -print -quit)
|
src=$(find "$dir" -maxdepth 1 -type d -iname sources | head -n 1)
|
||||||
|
|
||||||
if [ ! -d "$src" ]; then
|
if [ ! -d "$src" ]; then
|
||||||
error "failed to locate 'sources' folder in ISO image, $FB" && return 1
|
error "failed to locate 'sources' folder in ISO image, $FB" && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wim=$(find "$src" -maxdepth 1 -type f -iname boot.wim -print -quit)
|
wim=$(find "$src" -maxdepth 1 -type f -iname boot.wim | head -n 1)
|
||||||
[ ! -f "$wim" ] && wim=$(find "$src" -maxdepth 1 -type f -iname boot.esd -print -quit)
|
[ ! -f "$wim" ] && wim=$(find "$src" -maxdepth 1 -type f -iname boot.esd | head -n 1)
|
||||||
|
|
||||||
if [ ! -f "$wim" ]; then
|
if [ ! -f "$wim" ]; then
|
||||||
error "failed to locate 'boot.wim' or 'boot.esd' in ISO image, $FB" && return 1
|
error "failed to locate 'boot.wim' or 'boot.esd' in ISO image, $FB" && return 1
|
||||||
@ -973,7 +899,7 @@ updateImage() {
|
|||||||
|
|
||||||
local find="$file"
|
local find="$file"
|
||||||
[[ "$MANUAL" == [Yy1]* ]] && find="$org"
|
[[ "$MANUAL" == [Yy1]* ]] && find="$org"
|
||||||
path=$(find "$dir" -maxdepth 1 -type f -iname "$find" -print -quit)
|
path=$(find "$dir" -maxdepth 1 -type f -iname "$find" | head -n 1)
|
||||||
|
|
||||||
if [ -f "$path" ]; then
|
if [ -f "$path" ]; then
|
||||||
if [[ "$MANUAL" != [Yy1]* ]]; then
|
if [[ "$MANUAL" != [Yy1]* ]]; then
|
||||||
@ -1027,12 +953,12 @@ buildImage() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
size=$(du -h -b --max-depth=0 "$dir" | cut -f1)
|
size=$(du -h -b --max-depth=0 "$dir" | cut -f1)
|
||||||
size_gb=$(formatBytes "$size")
|
size_gb=$(( (size + 1073741823)/1073741824 ))
|
||||||
space=$(df --output=avail -B 1 "$TMP" | tail -n 1)
|
space=$(df --output=avail -B 1 "$TMP" | tail -n 1)
|
||||||
space_gb=$(formatBytes "$space")
|
space_gb=$(( (space + 1073741823)/1073741824 ))
|
||||||
|
|
||||||
if (( size > space )); then
|
if (( size > space )); then
|
||||||
error "Not enough free space in $STORAGE, have $space_gb available but need at least $size_gb." && return 1
|
error "Not enough free space in $STORAGE, have $space_gb GB available but need at least $size_gb GB." && return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
|
if [[ "${BOOT_MODE,,}" != "windows_legacy" ]]; then
|
||||||
@ -1076,48 +1002,19 @@ bootWindows() {
|
|||||||
|
|
||||||
if [ -f "$STORAGE/windows.args" ]; then
|
if [ -f "$STORAGE/windows.args" ]; then
|
||||||
ARGS=$(<"$STORAGE/windows.args")
|
ARGS=$(<"$STORAGE/windows.args")
|
||||||
ARGS="${ARGS//[![:print:]]/}"
|
|
||||||
ARGUMENTS="$ARGS ${ARGUMENTS:-}"
|
ARGUMENTS="$ARGS ${ARGUMENTS:-}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -s "$STORAGE/windows.vga" ] && [ -f "$STORAGE/windows.vga" ]; then
|
|
||||||
if [ -z "${VGA:-}" ]; then
|
|
||||||
VGA=$(<"$STORAGE/windows.vga")
|
|
||||||
VGA="${VGA//[![:print:]]/}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -s "$STORAGE/windows.usb" ] && [ -f "$STORAGE/windows.usb" ]; then
|
|
||||||
if [ -z "${USB:-}" ]; then
|
|
||||||
USB=$(<"$STORAGE/windows.usb")
|
|
||||||
USB="${USB//[![:print:]]/}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -s "$STORAGE/windows.net" ] && [ -f "$STORAGE/windows.net" ]; then
|
|
||||||
if [ -z "${ADAPTER:-}" ]; then
|
|
||||||
ADAPTER=$(<"$STORAGE/windows.net")
|
|
||||||
ADAPTER="${ADAPTER//[![:print:]]/}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -s "$STORAGE/windows.type" ] && [ -f "$STORAGE/windows.type" ]; then
|
if [ -s "$STORAGE/windows.type" ] && [ -f "$STORAGE/windows.type" ]; then
|
||||||
if [ -z "${DISK_TYPE:-}" ]; then
|
[ -z "${DISK_TYPE:-}" ] && DISK_TYPE=$(<"$STORAGE/windows.type")
|
||||||
DISK_TYPE=$(<"$STORAGE/windows.type")
|
|
||||||
DISK_TYPE="${DISK_TYPE//[![:print:]]/}"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -s "$STORAGE/windows.mode" ] && [ -f "$STORAGE/windows.mode" ]; then
|
if [ -s "$STORAGE/windows.mode" ] && [ -f "$STORAGE/windows.mode" ]; then
|
||||||
BOOT_MODE=$(<"$STORAGE/windows.mode")
|
BOOT_MODE=$(<"$STORAGE/windows.mode")
|
||||||
BOOT_MODE="${BOOT_MODE//[![:print:]]/}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -s "$STORAGE/windows.old" ] && [ -f "$STORAGE/windows.old" ]; then
|
if [ -s "$STORAGE/windows.old" ] && [ -f "$STORAGE/windows.old" ]; then
|
||||||
if [[ "${PLATFORM,,}" == "x64" ]]; then
|
[[ "${PLATFORM,,}" == "x64" ]] && MACHINE=$(<"$STORAGE/windows.old")
|
||||||
MACHINE=$(<"$STORAGE/windows.old")
|
|
||||||
MACHINE="${MACHINE//[![:print:]]/}"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
39
src/mido.sh
39
src/mido.sh
@ -93,7 +93,6 @@ download_windows() {
|
|||||||
|
|
||||||
# uuidgen: For MacOS (installed by default) and other systems (e.g. with no /proc) that don't have a kernel interface for generating random UUIDs
|
# uuidgen: For MacOS (installed by default) and other systems (e.g. with no /proc) that don't have a kernel interface for generating random UUIDs
|
||||||
session_id=$(cat /proc/sys/kernel/random/uuid 2> /dev/null || uuidgen --random)
|
session_id=$(cat /proc/sys/kernel/random/uuid 2> /dev/null || uuidgen --random)
|
||||||
session_id="${session_id//[![:print:]]/}"
|
|
||||||
|
|
||||||
# Get product edition ID for latest release of given Windows version
|
# Get product edition ID for latest release of given Windows version
|
||||||
# Product edition ID: This specifies both the Windows release (e.g. 22H2) and edition ("multi-edition" is default, either Home/Pro/Edu/etc., we select "Pro" in the answer files) in one number
|
# Product edition ID: This specifies both the Windows release (e.g. 22H2) and edition ("multi-edition" is default, either Home/Pro/Edu/etc., we select "Pro" in the answer files) in one number
|
||||||
@ -314,7 +313,7 @@ getWindows() {
|
|||||||
info "$msg" && html "$msg"
|
info "$msg" && html "$msg"
|
||||||
|
|
||||||
case "${version,,}" in
|
case "${version,,}" in
|
||||||
"win2008r2" | "win81${PLATFORM,,}"* | "win11${PLATFORM,,}-enterprise-iot"* | "win11${PLATFORM,,}-enterprise-ltsc"* )
|
"win2008r2" | "win7${PLATFORM,,}"* | "win81${PLATFORM,,}"* | "win11${PLATFORM,,}-enterprise-iot"* | "win11${PLATFORM,,}-enterprise-ltsc"* )
|
||||||
if [[ "${lang,,}" != "en" ]] && [[ "${lang,,}" != "en-"* ]]; then
|
if [[ "${lang,,}" != "en" ]] && [[ "${lang,,}" != "en-"* ]]; then
|
||||||
error "No download in the $language language available for $edition!"
|
error "No download in the $language language available for $edition!"
|
||||||
MIDO_URL="" && return 1
|
MIDO_URL="" && return 1
|
||||||
@ -342,7 +341,7 @@ getWindows() {
|
|||||||
"win2025-eval" | "win2022-eval" | "win2019-eval" | "win2019-hv" | "win2016-eval" | "win2012r2-eval" )
|
"win2025-eval" | "win2022-eval" | "win2019-eval" | "win2019-hv" | "win2016-eval" | "win2012r2-eval" )
|
||||||
download_windows_eval "$version" "$lang" "$edition" && return 0
|
download_windows_eval "$version" "$lang" "$edition" && return 0
|
||||||
;;
|
;;
|
||||||
"win81${PLATFORM,,}-enterprise"* | "win2008r2" )
|
"win7${PLATFORM,,}"* | "win81${PLATFORM,,}-enterprise"* | "win2008r2" )
|
||||||
;;
|
;;
|
||||||
* ) error "Invalid VERSION specified, value \"$version\" is not recognized!" ;;
|
* ) error "Invalid VERSION specified, value \"$version\" is not recognized!" ;;
|
||||||
esac
|
esac
|
||||||
@ -472,18 +471,6 @@ getESD() {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
isCompressed() {
|
|
||||||
|
|
||||||
local file="$1"
|
|
||||||
|
|
||||||
case "${file,,}" in
|
|
||||||
*".7z" | *".zip" | *".rar" | *".lzma" | *".bz" | *".bz2" )
|
|
||||||
return 0 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
verifyFile() {
|
verifyFile() {
|
||||||
|
|
||||||
local iso="$1"
|
local iso="$1"
|
||||||
@ -514,7 +501,7 @@ verifyFile() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$hash" == "$check" ]]; then
|
if [[ "$hash" == "$check" ]]; then
|
||||||
info "Successfully verified ISO!" && return 0
|
info "Succesfully verified ISO!" && return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
error "The downloaded file has an unknown $algo checksum: $hash , as the expected value was: $check. Please report this at $SUPPORT/issues"
|
error "The downloaded file has an unknown $algo checksum: $hash , as the expected value was: $check. Please report this at $SUPPORT/issues"
|
||||||
@ -529,17 +516,14 @@ downloadFile() {
|
|||||||
local size="$4"
|
local size="$4"
|
||||||
local lang="$5"
|
local lang="$5"
|
||||||
local desc="$6"
|
local desc="$6"
|
||||||
local msg="Downloading $desc"
|
local rc total progress domain dots space folder
|
||||||
local rc total total_gb progress domain dots agent space folder
|
|
||||||
|
|
||||||
rm -f "$iso"
|
rm -f "$iso"
|
||||||
agent=$(get_agent)
|
|
||||||
|
|
||||||
if [ -n "$size" ] && [[ "$size" != "0" ]]; then
|
if [ -n "$size" ] && [[ "$size" != "0" ]]; then
|
||||||
folder=$(dirname -- "$iso")
|
folder=$(dirname -- "$iso")
|
||||||
space=$(df --output=avail -B 1 "$folder" | tail -n 1)
|
space=$(df --output=avail -B 1 "$folder" | tail -n 1)
|
||||||
total_gb=$(formatBytes "$space")
|
(( size > space )) && error "Not enough free space left to download file!" && return 1
|
||||||
(( size > space )) && error "Not enough free space to download file, only $total_gb left!" && return 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if running with interactive TTY or redirected to docker log
|
# Check if running with interactive TTY or redirected to docker log
|
||||||
@ -549,8 +533,8 @@ downloadFile() {
|
|||||||
progress="--progress=dot:giga"
|
progress="--progress=dot:giga"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local msg="Downloading $desc"
|
||||||
html "$msg..."
|
html "$msg..."
|
||||||
/run/progress.sh "$iso" "$size" "$msg ([P])..." &
|
|
||||||
|
|
||||||
domain=$(echo "$url" | awk -F/ '{print $3}')
|
domain=$(echo "$url" | awk -F/ '{print $3}')
|
||||||
dots=$(echo "$domain" | tr -cd '.' | wc -c)
|
dots=$(echo "$domain" | tr -cd '.' | wc -c)
|
||||||
@ -561,26 +545,25 @@ downloadFile() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
info "$msg..."
|
info "$msg..."
|
||||||
|
/run/progress.sh "$iso" "$size" "$msg ([P])..." &
|
||||||
|
|
||||||
{ wget "$url" -O "$iso" -q --timeout=30 --no-http-keep-alive --user-agent "$agent" --show-progress "$progress"; rc=$?; } || :
|
{ wget "$url" -O "$iso" -q --timeout=30 --no-http-keep-alive --show-progress "$progress"; rc=$?; } || :
|
||||||
|
|
||||||
fKill "progress.sh"
|
fKill "progress.sh"
|
||||||
|
|
||||||
if (( rc == 0 )) && [ -f "$iso" ]; then
|
if (( rc == 0 )) && [ -f "$iso" ]; then
|
||||||
total=$(stat -c%s "$iso")
|
total=$(stat -c%s "$iso")
|
||||||
total_gb=$(formatBytes "$total")
|
|
||||||
if [ "$total" -lt 100000000 ]; then
|
if [ "$total" -lt 100000000 ]; then
|
||||||
error "Invalid download link: $url (is only $total_gb ?). Please report this at $SUPPORT/issues" && return 1
|
error "Invalid download link: $url (is only $total bytes?). Please report this at $SUPPORT/issues." && return 1
|
||||||
fi
|
fi
|
||||||
verifyFile "$iso" "$size" "$total" "$sum" || return 1
|
verifyFile "$iso" "$size" "$total" "$sum" || return 1
|
||||||
isCompressed "$url" && UNPACK="Y"
|
|
||||||
html "Download finished successfully..." && return 0
|
html "Download finished successfully..." && return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg="Failed to download $url"
|
msg="Failed to download $url"
|
||||||
(( rc == 3 )) && error "$msg , cannot write file (disk full?)" && return 1
|
(( rc == 3 )) && error "$msg , cannot write file (disk full?)" && return 1
|
||||||
(( rc == 4 )) && error "$msg , network failure!" && return 1
|
(( rc == 4 )) && error "$msg , network failure!" && return 1
|
||||||
(( rc == 8 )) && error "$msg , server issued an error response! Please report this at $SUPPORT/issues" && return 1
|
(( rc == 8 )) && error "$msg , server issued an error response! Please report this at $SUPPORT/issues." && return 1
|
||||||
|
|
||||||
error "$msg , reason: $rc"
|
error "$msg , reason: $rc"
|
||||||
return 1
|
return 1
|
||||||
@ -598,14 +581,12 @@ downloadImage() {
|
|||||||
local msg="Will retry after $delay seconds..."
|
local msg="Will retry after $delay seconds..."
|
||||||
|
|
||||||
if [[ "${version,,}" == "http"* ]]; then
|
if [[ "${version,,}" == "http"* ]]; then
|
||||||
|
|
||||||
base=$(basename "$iso")
|
base=$(basename "$iso")
|
||||||
desc=$(fromFile "$base")
|
desc=$(fromFile "$base")
|
||||||
downloadFile "$iso" "$version" "" "" "" "$desc" && return 0
|
downloadFile "$iso" "$version" "" "" "" "$desc" && return 0
|
||||||
info "$msg" && html "$msg" && sleep "$delay"
|
info "$msg" && html "$msg" && sleep "$delay"
|
||||||
downloadFile "$iso" "$version" "" "" "" "$desc" && return 0
|
downloadFile "$iso" "$version" "" "" "" "$desc" && return 0
|
||||||
rm -f "$iso"
|
rm -f "$iso"
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ boot() {
|
|||||||
grep -Fq "BOOTMGR is missing" "$QEMU_PTY" && fail="y"
|
grep -Fq "BOOTMGR is missing" "$QEMU_PTY" && fail="y"
|
||||||
fi
|
fi
|
||||||
if [ -z "$fail" ]; then
|
if [ -z "$fail" ]; then
|
||||||
info "Windows started successfully, visit http://127.0.0.1:8006/ to view the screen..."
|
info "Windows started succesfully, visit http://localhost:8006/ to view the screen..."
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
20
src/samba.sh
20
src/samba.sh
@ -14,21 +14,16 @@ if [[ "$DHCP" == [Yy1]* ]]; then
|
|||||||
interface="$VM_NET_DEV"
|
interface="$VM_NET_DEV"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${NETWORK,,}" == "user"* ]]; then
|
|
||||||
interface="127.0.0.1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
addShare() {
|
addShare() {
|
||||||
local dir="$1"
|
local dir="$1"
|
||||||
local name="$2"
|
local name="$2"
|
||||||
local comment="$3"
|
local comment="$3"
|
||||||
|
|
||||||
mkdir -p "$dir" || return 1
|
mkdir -p "$dir" || return 1
|
||||||
ls -A "$dir" >/dev/null 2>&1 || return 1
|
|
||||||
|
|
||||||
if [ -z "$(ls -A "$dir")" ]; then
|
if [ -z "$(ls -A "$dir")" ]; then
|
||||||
|
|
||||||
chmod 777 "$dir" || return 1
|
chmod 777 "$dir"
|
||||||
|
|
||||||
{ echo "--------------------------------------------------------"
|
{ echo "--------------------------------------------------------"
|
||||||
echo " $APP for Docker v$(</run/version)..."
|
echo " $APP for Docker v$(</run/version)..."
|
||||||
@ -92,17 +87,10 @@ share="/data"
|
|||||||
[ ! -d "$share" ] && [ -d "/shared" ] && share="/shared"
|
[ ! -d "$share" ] && [ -d "/shared" ] && share="/shared"
|
||||||
[ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared"
|
[ ! -d "$share" ] && [ -d "$STORAGE/shared" ] && share="$STORAGE/shared"
|
||||||
|
|
||||||
if ! addShare "$share" "Data" "Shared"; then
|
addShare "$share" "Data" "Shared" || error "Failed to create shared folder!"
|
||||||
error "Failed to add shared folder '$share'. Please check its permissions." && return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d "/data2" ]; then
|
[ -d "/data2" ] && addShare "/data2" "Data2" "Shared"
|
||||||
addShare "/data2" "Data2" "Shared" || error "Failed to add shared folder '/data2'. Please check its permissions."
|
[ -d "/data3" ] && addShare "/data3" "Data3" "Shared"
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -d "/data3" ]; then
|
|
||||||
addShare "/data3" "Data3" "Shared" || error "Failed to add shared folder '/data3'. Please check its permissions."
|
|
||||||
fi
|
|
||||||
|
|
||||||
IFS=',' read -r -a dirs <<< "${SHARES:-}"
|
IFS=',' read -r -a dirs <<< "${SHARES:-}"
|
||||||
for dir in "${dirs[@]}"; do
|
for dir in "${dirs[@]}"; do
|
||||||
|
Loading…
x
Reference in New Issue
Block a user