追蹤
Fingers的混搭空間
關於部落格
記錄我花了時間, 腦力, 心力, 體力做過玩過, 正在做正在玩的各種經歷.
  • 66379

    累積人氣

  • 13

    今日人氣

    0

    追蹤人氣

一鍵到底 -- 製作WINPE光碟, answer file達到Win 7 與應用程式 自動安裝 (四)

先別理會這些script 要放置的路徑, 先把他們一一準備好,儲存在你的工作電腦即可

 
file name: partdisk.bat

@echo off
diskpart /s partdisk.txt

format c: /fs:ntfs /q /y
z:install_scriptbootsect.exe /nt52 c:
 

解說: diskpart切割硬碟partition,並格式化為NTFS
要切多大?切片還是切丁?
打開partdisk.txt就知
 

file name: partdisk.txt

select disk 0
clean
create partition primary
assign letter=c
active
exit

解說: 切一個partition,指定為C槽,並指定其為開機磁區

file name: cname.vbs

with Wscript.CreateObject("Wscript.Network")
sNewName = inputbox("Enter New Computer Name","Change Computer Name", .Computername)
end with

Set oShell = CreateObject ("WSCript.shell")
sCCS = "HKLMSYSTEMCurrentControlSet"
sTcpipParamsRegPath = sCCS & "ServicesTcpipParameters"
sCompNameRegPath = sCCS & "ControlComputerName"

With oShell
'.RegDelete sTcpipParamsRegPath & "Hostname"
'.RegDelete sTcpipParamsRegPath & "NV Hostname"
.RegDelete sCompNameRegPath & "ComputerNameComputerName"
.RegWrite sCompNameRegPath & "ComputerNameComputerName", sNewName
.RegWrite sCompNameRegPath & "ActiveComputerNameComputerName", sNewName
.RegWrite sTcpipParamsRegPath & "Hostname", sNewName
.RegWrite sTcpipParamsRegPath & "NV Hostname", sNewName

End With ' oShell
MsgBox "Computer name changed, please reboot your computer"

解說:當Windows 7安裝完畢後執行,可以改成你想要的電腦名

file name: domainjoin.vbs
Const JOIN_DOMAIN             = 1
Const ACCT_CREATE             = 2
Const ACCT_DELETE             = 4
Const WIN9X_UPGRADE           = 16
Const DOMAIN_JOIN_IF_JOINED   = 32
Const JOIN_UNSECURE           = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET        = 256
Const INSTALL_INVOCATION      = 262144
strDomain   = "Domain NETBIOS Name"
strPassword = "Password"
strUser     = "administrator"
Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName
Set objComputer = _
    GetObject("winmgmts:{impersonationLevel=Impersonate}!\" & _
    strComputer & "rootcimv2:Win32_ComputerSystem.Name='" _
    & strComputer & "'")
ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _
    strPassword, _
    strDomain & "" & strUser, _
    NULL, _
    JOIN_DOMAIN + ACCT_CREATE)
解說:加入網域的vbscript


file name: sendmail.vbs

Set fso = CreateObject("Scripting.FileSystemObject")

Set wshNetwork = WScript.CreateObject( "WScript.Network" )
strComputerName = wshNetwork.ComputerName

Set objEmail = CreateObject("CDO.Message")
objEmail.From = xxx@yyy.com.tw
objEmail.To = "aaa@yyy.co.tw; bbb@yyy.com.tw"
objEmail.Subject = strComputerName & ": Windows 7 machine is installed."
objEmail.Textbody = "Hostname:" & strComputerName & vbLf & "Date of Install:" & Date()
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
        "yoursmtpserver FQDN"
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send

解說: email 已說明一切

file name: win7answer.xml
留待下一章便分曉
 

file name: setupprep.bat

cls
@Echo Off

mkdir c:temp
set temp=c:temp

copy z:install_scriptwin7answer.xml %temp%win7answer.xml

copy z:install_scriptCname.vbs %temp%cname.vbs /y

copy z:install_scriptdomainjoin.vbs %temp%domainjoin.vbs /y

copy z:install_scriptstartapp.bat C:tempstartapp.bat

copy z:install_scriptsendmail.vbs C:tempsendmail.vbs /y

z:sourcessetup.exe /unattend:%temp%win7answer.xml

Exit

解說: 藍色字體(COPY)是將Windows 7 系統安裝完成第一次開機時被要求執行的檔案, 複製到WINPE client 的 C:temp 裡面

z:sourcessetup.exe /unattend:%temp%win7answer.xml
下一章節就可見分曉

file name: startapp.bat

set temp=c:temp

msiexec 指令
setup.exe 執行檔
.
.
.
.
.
cscript %temp%cname.vbs
cscript %temp%domainjoin.vbs

 

解說: 這個檔案是在回應檔win7answer.xml裡指定的執行檔, 在Windows 7 安裝完畢, 重新開機並首次登入後立即執行. 因此, 除了這裡所包含的
cscript %temp%cname.vbs (改電腦名)
cscript %temp%domainjoin.vbs (加入網域, 這個有點小bug)
還可以自行加入必須安裝的應用程式, 如office, acrobat reader, winzip....



以上是我們會用到的程式,

接下來我們要將它們串在一起
我們不需動幾次的手指頭 達到自動化的效果


▍先找個file server, 分享出一個資料夾, READ ONLY (EVERYONE)
例: \dc1win7

▎▎ 建立一個新資料夾在\dc1win7
例: install_script

▍將上面那幾個千辛萬苦"抄"下來的程式+bootsect.exe 都寫入
\dc1win7install_script


◆ 為了能一個步驟一個步驟看懂這些小程式作了哪些事情, 我們就來run 一下


繞了好大一圈, 總算回到本章的一開始
虛擬機器用我們上一章節作好的 WINPE ISO開機
在WPEINIT 下, 動手寫入此指令
net use z: \dc1win7 /user:domainuserid  密碼  /PERSISTENT:no
解說: Winp client 連線到剛剛分享出來的分享資料夾



 



切換到 z: install_script
鍵入 partdisk.bat


 
再鍵入 setupprep.bat
螢幕會看到file copied 的字樣, 讓你知道檔案已順利寫入c:temp裡了
當執行到 z:sourcessetup.exe /unattend:%temp%win7answer.xml
我們的世界不再是黑白的 藍色的天空正向我們招手呢!

 我們已經跨出了一大步了!!!!! 欣慰啊!!!



相簿設定
標籤設定
相簿狀態