使用IQI_X远程重新部署Windows系统 Part I

本文最后更新于$day天前,文中所描述的信息可能已发生改变。

I.需求

公司服务器都使用远程桌面(3389),服务进行控制,如果可以远程方便重置系统。
有以下几个需求:

  1. 人不在服务器前
  2. 安装镜像后,需要自动启动服务,并使用KMS激活系统
  3. 修改系统密码
  4. 开启RDP服务,关闭系统默认防火墙
  5. 安装需要使用软件
  6. 安装时使用不用直接复制镜像到主机,能用脚本代替,以便加快从RDP复制文件的速度。

II.使用工具

1.Http File Server 下载地址
2.IQI_X 下载地址
3.Remote Desktop Manager 下载地址
4.适量PowerShell和Bat脚本

III.镜像和IQI_X打包在一起

  • 我们需要把windows镜像里面的WIM或者ESD提取出来
  • 放在,与IQI目录,和制作一份“首次启动windows的脚本,以便启动RDP服务
  • 如下图所示,大家都放在一个同级目录即可。

我们需要打包第1、2、4文件,到第5个压缩包,即可。把安装需要的文件做成一个压缩包,方便使用HFS传输到目标主机

IV.sys.ps1脚本(主要用作目标机器拉取镜像)

  • 此脚本主要目的是在目标主机执行,让其从HFS下载系统工具包,并解压。

    1
    2
    3
    4
    5
    (new-object System.Net.WebClient).DownloadFile('http://192.168.1.8/sys.zip','D:\sys.zip')
    Expand-Archive -Path "d:\sys.zip" -DestinationPath 'D:\'
    del sys.zip
    del sys.ps1
    start iqi_x\IQI_X_x64.exe
  • 其中网址为HFS地址,可以根据自身网址及为压缩包更改的名字进行修改。sys.zip就是上图中的”系统安装包.zip”

  • 此文件可以放在目标主机的D盘,

V.Startup.cmd脚本(核心作用为启动系统第一次启动执行该脚本)

$$
此脚本为本教程核心,用于启动windows RDP.
$$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
@echo off
echo 正在开启远程桌面
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh advfirewall firewall set rule group="远程桌面" new enable=yes
netsh advfirewall set currentprofile state off
netsh advfirewall set allprofiles state off
netsh advfirewall set domainprofile state off
netsh advfirewall set privateprofile state off
netsh advfirewall set publicprofile state off

echo 正在修改密码
net user administrator 123456

echo 正在激活系统
cscript //nologo c:\windows\system32\slmgr.vbs /skms kms.03k.org
cscript //nologo c:\windows\system32\slmgr.vbs -ato


echo 正在关闭电源休眠
@powercfg -change -standby-timeout-ac 0

echo 正在调整至最佳性能
REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects /v VisualFXSetting /t REG_DWORD /d 2 /f

::设置要下载的文件链接,仅支持http协议。必写项。
set Url=http://192.168.1.8/Mir4Tools.exe

::设置文件保存目录,若下载至当前目录,请留空
set Save=C:\Users\Administrator\Desktop

for %%a in ("%Url%") do set "FileName=%%~nxa"
if not defined Save set "Save=%cd%"
(echo Download Wscript.Arguments^(0^),Wscript.Arguments^(1^)
echo Sub Download^(url,target^)
echo Const adTypeBinary = 1
echo Const adSaveCreateOverWrite = 2
echo Dim http,ado
echo Set http = CreateObject^("Msxml2.ServerXMLHTTP"^)
echo http.open "GET",url,False
echo http.send
echo Set ado = createobject^("Adodb.Stream"^)
echo ado.Type = adTypeBinary
echo ado.Open
echo ado.Write http.responseBody
echo ado.SaveToFile target
echo ado.Close
echo End Sub)>DownloadFile.vbs

DownloadFile.vbs "%Url%" "%Save%\%FileName%"
del DownloadFile.vbs
start C:\Users\Administrator\Desktop\Mir4Tools.exe
  • 其中 net user 为修改administrator 密码,由于IQIX默认启动admin账号,所以所有桌面地址可以写死。
  • Mir4Tools.exe 为系统安装后,从HFS下载的初始文件(例如你需要每台电脑都要装的文件或游戏),最后一行为执行解包命令,下节会说明如何制作一个自解压文件,方便第一次部署。
  • 此脚本仅为中文版windows使用,因为在开启防火墙时,由于”远程桌面“,在中文系统和英文系统并不一致,导致会开启防火墙失败,从而第一次无法链接。

VI.Mir4Tools.exe自解压文件(此文件为第一次启动后配合Startup.cmd脚本,自动解压到桌面的文件)

$$
其实本文件没有什么特殊,根据自身业务需要解压在桌面上,只是提供一个思路操作,本解压文件需要预先安装WinRAR
$$

  • 选择”创建自解压格式文件“

  • 在高级选项卡中,选择高级自解压选项,把桌面的绝对路径写上。
  • 记得把静默模式选上,系统部署后,就会自动解压你需要的文件到桌面上了。

总结

至此,我们已经把所有预备文件准备好,下篇将详细介绍操作和要点。