182 lines
6.5 KiB
Plaintext
182 lines
6.5 KiB
Plaintext
'
|
|
' Test IConfigureYourServer::InstallService
|
|
'
|
|
|
|
option explicit
|
|
|
|
|
|
|
|
// this is a Visual Basic Script "Template", used in conjunction with the
|
|
// MS Visual C++ Preprocessor to overcome some of the source management
|
|
// limitations of VBScript. Not perfect, but better than a stick in the eye.
|
|
//
|
|
// use cl /EP foo.vbt > foo.vbs to expand the template
|
|
|
|
const SCRIPT_FILENAME = "test-InstallService.vbs"
|
|
const SCRIPT_SOURCE_NAME = __FILE__
|
|
const SCRIPT_DATE = __DATE__
|
|
const SCRIPT_TIME = __TIME__
|
|
|
|
|
|
// this is all our common code.
|
|
|
|
#include "common.vbi"
|
|
|
|
|
|
|
|
Dim QUOTE
|
|
QUOTE = Chr(34)
|
|
|
|
|
|
|
|
Main
|
|
wscript.quit(0)
|
|
|
|
|
|
|
|
sub Main
|
|
On Error Resume Next
|
|
|
|
Dim menu(7)
|
|
menu(0) = "DNS"
|
|
menu(1) = "DHCP"
|
|
menu(2) = "DHCPFirstServer"
|
|
menu(3) = "WINS"
|
|
menu(4) = "IIS - Server "
|
|
menu(5) = "StreamingMedia"
|
|
menu(6) = "TerminalServices"
|
|
menu(7) = "IIS - Adv Server / DTC"
|
|
|
|
Dim services(7)
|
|
services(0) = "DNS"
|
|
services(1) = "DHCP"
|
|
services(2) = "DHCPFirstServer"
|
|
services(3) = "WINS"
|
|
services(4) = "IIS"
|
|
services(5) = "StreamingMedia"
|
|
services(6) = "TerminalServices"
|
|
services(7) = "IIS"
|
|
|
|
Dim i
|
|
if wscript.arguments.count <> 1 then
|
|
Echo "supply the number of a service to install"
|
|
|
|
For i = 0 to Ubound(menu)
|
|
Echo i & " - " & menu(i)
|
|
Next
|
|
Exit sub
|
|
end if
|
|
|
|
Dim svcNumber
|
|
svcNumber = CInt(wscript.arguments.item(0))
|
|
Echo "installing " & services(svcNumber)
|
|
|
|
Dim srvwiz
|
|
Set srvwiz = CreateObject("ServerAdmin.ConfigureYourServer")
|
|
if Err.Number then DumpErrAndQuit
|
|
|
|
' contents of the inf file
|
|
' use an empty value to mean "use sysoc.inf"
|
|
|
|
Dim infs(7)
|
|
infs(0) = "[Version]" & vbCrLf _
|
|
& "Signature = " & QUOTE & "$Windows NT$" & QUOTE & vbCrLf _
|
|
& "[Components]" & vbCrLf _
|
|
& "NetOC=netoc.dll,NetOcSetupProc,netoc.inf" & vbCrLf _
|
|
& "[Global]" & vbCrLf _
|
|
& "WindowTitle=Installing DNS Server" & vbCrLf _
|
|
& "[Strings]" & vbCrLf _
|
|
& ";(empty)" & vbCrLf
|
|
|
|
infs(1) = "[Version]" & vbCrLf _
|
|
& "Signature = " & QUOTE & "$Windows NT$" & QUOTE & vbCrLf _
|
|
& "[Components]" & vbCrLf _
|
|
& "NetOC=netoc.dll,NetOcSetupProc,netoc.inf" & vbCrLf _
|
|
& "[Global]" & vbCrLf _
|
|
& "WindowTitle=Installing DHCP Server" & vbCrLf _
|
|
& "[Strings]" & vbCrLf _
|
|
& ";(empty)" & vbCrLf
|
|
|
|
infs(2) = infs(1)
|
|
|
|
infs(3) = "[Version]" & vbCrLf _
|
|
& "Signature = " & QUOTE & "$Windows NT$" & QUOTE & vbCrLf _
|
|
& "[Components]" & vbCrLf _
|
|
& "NetOC=netoc.dll,NetOcSetupProc,netoc.inf" & vbCrLf _
|
|
& "[Global]" & vbCrLf _
|
|
& "WindowTitle=Installing WINS Server" & vbCrLf _
|
|
& "[Strings]" & vbCrLf _
|
|
& ";(empty)" & vbCrLf
|
|
|
|
|
|
infs(4) = "" ' use sysoc.inf?
|
|
infs(5) = "" ' use sysoc.inf?
|
|
infs(6) = "" ' use sysoc.inf
|
|
infs(7) = "" ' use sysoc.inf
|
|
|
|
|
|
' contents of the unattend file
|
|
|
|
Dim unattends(7)
|
|
unattends(0) = "[NetOptionalComponents]" & vbCrLf _
|
|
& "DNS=1" & vbCrLf
|
|
|
|
unattends(1) = "[NetOptionalComponents]" & vbCrLf _
|
|
& "DHCPServer=1" & vbCrLf _
|
|
& "[dhcpserver]" & vbCrLf _
|
|
& "Subnets=10.0.0.0" & vbCrLf _
|
|
& "StartIp=10.0.0.3" & vbCrLf _
|
|
& "EndIp=10.0.0.254" & vbCrLf _
|
|
& "SubnetMask=255.0.0.0" & vbCrLf _
|
|
& "LeaseDuration=874800" & vbCrLf _
|
|
& "DnsServer=10.10.1.1" & vbCrLf _
|
|
& "DomainName=foo.bar.com" & vbCrLf
|
|
|
|
unattends(2) = unattends(1)
|
|
|
|
unattends(3) = "[NetOptionalComponents]" & vbCrLf _
|
|
& "WINS=1" & vbCrLf
|
|
|
|
unattends(4) = "[Components]" & vbCrLf _
|
|
& "iis_common=ON" & vbCrLf _
|
|
& "iis_inetmgr=ON" & vbCrLf _
|
|
& "iis_www=ON" & vbCrLf _
|
|
& "iis_doc=ON" & vbCrLf _
|
|
& "iis_htmla=ON" & vbCrLf _
|
|
& "iis_www_vdir_msadc=ON" & vbCrLf _
|
|
& "iis_www_vdir_scripts=ON" & vbCrLf _
|
|
& "iis_www_vdir_printers=ON" & vbCrLf _
|
|
& "iis_smtp=ON" & vbCrLf _
|
|
& "iis_smtp_docs=ON" & vbCrLf _
|
|
& "fp_extensions=ON" & vbCrLf
|
|
|
|
unattends(5) = "[Components]" & vbCrLf _
|
|
& "WMS=ON" & vbCrLf _
|
|
& "WMS_Admin=ON" & vbCrLf _
|
|
& "WMS_SERVER=ON" & vbCrLf
|
|
|
|
' this is missing the settings for Mode and Permissions
|
|
|
|
unattends(6) = "[Components]" & vbCrLf _
|
|
& "TSEnable=ON" & vbCrLf
|
|
|
|
unattends(7) = unattends(4)
|
|
|
|
Dim j
|
|
|
|
' For i = 0 to Ubound(services)
|
|
i = svcNumber
|
|
|
|
Err.Clear
|
|
Echo "Calling InstallService("
|
|
Echo " " & services(i) & ","
|
|
Echo " " & infs(i) & ","
|
|
Echo " " & unattends(i) & ")"
|
|
j = srvWiz.InstallService(services(i), infs(i), unattends(i))
|
|
If Err.Number then DumpErrAndQuit
|
|
|
|
Echo "Installer returned " & j
|
|
' Next
|
|
|
|
End sub
|