168 lines
6.2 KiB
Plaintext
168 lines
6.2 KiB
Plaintext
'+---------------------------------------------------------------------------
|
|
'
|
|
' Microsoft Windows
|
|
'
|
|
' File: machineconfig.vbs
|
|
'
|
|
' Contents: code necessary to configure a machine's default app pool
|
|
' configuration on install.
|
|
'
|
|
' History: 15-Mar-2000 EricDe created
|
|
' 28-Mar-2000 EricDe Added code to create /w3svc/AppPools/StreamFilter,
|
|
' with keytype IIsStreamFilter.
|
|
' 29-Mar-2000 EricDe bug fixes - no longer deleting /w3svc/AppPools, but
|
|
' now just /w3svc/AppPools/DefaultAppPool. Also
|
|
' commented out IIsStreamFilter section temporarily
|
|
' due to probs w/CAppPool.vbs
|
|
' 27-Apr-2000 EricDe bug fix - bug in trying to create StreamFilter when it
|
|
' already exists. Fixed now.
|
|
'----------------------------------------------------------------------------
|
|
Option Explicit
|
|
On Error Resume Next
|
|
Dim W3Service
|
|
Dim AppPoolsObj
|
|
|
|
'Since this script is designed to configure the initial system configuration, it should delete /w3svc/AppPools/DefaultAppPool
|
|
' path if not already there.
|
|
Set W3Service = GetObject("IIS://localhost/w3svc")
|
|
|
|
'create app pool container and assign all default properties
|
|
Err.Clear
|
|
|
|
Set AppPoolsObj = GetObject("IIS://localhost/w3svc/AppPools")
|
|
If (Err <> 0) THEN
|
|
WScript.Echo "[/w3svc/AppPools] does not exist - now creating it."
|
|
Err.Clear
|
|
Set AppPoolsObj = W3Service.Create ("IIsApplicationPools", "AppPools")
|
|
If (Err <> 0) THEN
|
|
WScript.Echo "ERROR: Unexpected error creating IIsApplicationPools object."
|
|
WScript.Echo " Error #" & Err.Number & " (" & Hex(Err.Number) & "): " & Err.Description
|
|
WScript.Quit(Err.Number)
|
|
End If
|
|
AppPoolsObj.SetInfo
|
|
If (Err <> 0) THEN
|
|
WScript.Echo "ERROR: Unexpected error setting info on /w3svc/AppPools path."
|
|
WScript.Echo " Error #" & Err.Number & " (" & Hex(Err.Number) & "): " & Err.Description
|
|
WScript.Quit(Err.Number)
|
|
End If
|
|
WScript.Echo "[/w3svc/AppPools] successfully created."
|
|
Else
|
|
'AppPools obj already exists
|
|
WScript.Echo "[/w3svc/AppPools] already exists."
|
|
End If
|
|
|
|
WScript.Echo "Now setting default properties for all app pools"
|
|
|
|
AppPoolsObj.PeriodicRestartTime = 60
|
|
AppPoolsObj.PeriodicRestartRequests = 10000
|
|
AppPoolsObj.MaxProcesses = 1
|
|
AppPoolsObj.PingingEnabled = true
|
|
AppPoolsObj.IdleTimeout = 10
|
|
AppPoolsObj.RapidFailProtection = true
|
|
AppPoolsObj.SMPAffinitized = false
|
|
AppPoolsObj.SMPProcessorAffinityMask = 4294967295
|
|
AppPoolsObj.StartupTimeLimit = 30
|
|
AppPoolsObj.ShutdownTimeLimit = 60
|
|
AppPoolsObj.PingInterval = 120
|
|
AppPoolsObj.PingResponseTime = 30
|
|
AppPoolsObj.DisallowOverlappingRotation = false
|
|
AppPoolsObj.OrphanWorkerProcess = false
|
|
AppPoolsObj.OrphanAction = ""
|
|
AppPoolsObj.UlAppPoolQueueLength = 3000
|
|
AppPoolsObj.DisallowRotationOnConfigChange = false
|
|
|
|
AppPoolsObj.SetInfo
|
|
If (Err <> 0) THEN
|
|
WScript.Echo "ERROR: Unexpected error setting info on /w3svc/AppPools path (setting props)."
|
|
WScript.Echo " Error #" & Err.Number & " (" & Hex(Err.Number) & "): " & Err.Description
|
|
WScript.Quit(Err.Number)
|
|
End If
|
|
|
|
'delete default app pool first, then recreate it.
|
|
WScript.Echo "START: Deleting [/w3svc/AppPools/DefaultAppPool] if present."
|
|
AppPoolsObj.Delete "IIsApplicationPool", "DefaultAppPool"
|
|
If (Err <> 0) Then
|
|
WScript.Echo "SUCCESS: [/w3svc/AppPools/DefaultAppPool] not present"
|
|
WScript.Echo
|
|
Else
|
|
WScript.Echo "SUCCESS: [/w3svc/AppPools/DefaultAppPool] deleted"
|
|
WScript.Echo
|
|
End If
|
|
Err.Clear
|
|
|
|
'create default app pool
|
|
Dim AppPool
|
|
WScript.Echo "START: Now creating app pool [/w3svc/AppPools/DefaultAppPool]"
|
|
Set AppPool = AppPoolsObj.Create("IIsApplicationPool", "DefaultAppPool")
|
|
AppPool.AppPoolFriendlyName = "Default Application Pool"
|
|
|
|
AppPool.SetInfo
|
|
If (Err <> 0) THEN
|
|
WScript.Echo "ERROR: Unexpected error setting info on /w3svc/AppPools/DefaultAppPool path (setting props)."
|
|
WScript.Echo " Error #" & Err.Number & " (" & Hex(Err.Number) & "): " & Err.Description
|
|
WScript.Quit(Err.Number)
|
|
End If
|
|
WScript.Echo "SUCCESS: [/w3svc/AppPools/DefaultAppPool] created successfully"
|
|
WScript.Echo
|
|
|
|
'delete StreamFilter first, then recreate it
|
|
WScript.Echo "START: Deleting [/w3svc/AppPools/StreamFilter] if present"
|
|
AppPoolsObj.Delete "IIsStreamFilter", "StreamFilter"
|
|
If (Err <> 0) Then
|
|
WScript.Echo "SUCCESS: [/w3svc/AppPools/StreamFilter] not present"
|
|
WScript.Echo
|
|
Else
|
|
WScript.Echo "SUCCESS: [/w3svc/AppPools/StreamFilter] deleted"
|
|
WScript.Echo
|
|
End If
|
|
Err.Clear
|
|
|
|
'create StreamFilter
|
|
Dim StreamFilter
|
|
WScript.Echo "START: Now creating StreamFilter [/w3svc/AppPools/StreamFilter]"
|
|
Set StreamFilter = AppPoolsObj.Create("IIsStreamFilter", "StreamFilter")
|
|
StreamFilter.PeriodicRestartConnections = 10000
|
|
|
|
StreamFilter.SetInfo
|
|
If (Err <> 0) THEN
|
|
WScript.Echo "ERROR: Unexpected error setting info on /w3svc/AppPools/StreamFilter path (setting props)."
|
|
WScript.Echo " Error #" & Err.Number & " (" & Hex(Err.Number) & "): " & Err.Description
|
|
WScript.Quit(Err.Number)
|
|
End If
|
|
WScript.Echo "SUCCESS: [/w3svc/AppPools/StreamFilter] created successfully"
|
|
WScript.Echo
|
|
|
|
'set the app pool id for all sites to Default AppPool
|
|
WScript.Echo "Now setting AppPoolId at /w3svc to DefaultAppPool"
|
|
W3Service.AppPoolId = "DefaultAppPool"
|
|
W3Service.SetInfo
|
|
If (Err <> 0) THEN
|
|
WScript.Echo "ERROR: Unexpected error setting info on /w3svc path (setting props)."
|
|
WScript.Echo " Error #" & Err.Number & " (" & Hex(Err.Number) & "): " & Err.Description
|
|
WScript.Quit(Err.Number)
|
|
End If
|
|
|
|
'set the app pool id for the default site to DefaultAppPool
|
|
Dim Site1RootApp
|
|
Dim Site1
|
|
|
|
Set Site1 = GetObject("IIS://localhost/w3svc/1")
|
|
If (Err <> 0) THen
|
|
WScript.Echo "ERROR Trying to get site 1"
|
|
WScript.Echo "Error " & Err.Number & " [" & Hex(Err.Number) & "]"
|
|
WScript.Quit(Err.Number)
|
|
End If
|
|
Site1.AppPoolId = "DefaultAppPool"
|
|
Site1.SetInfo
|
|
|
|
Set Site1RootApp = GetObject("IIS://localhost/w3svc/1/root")
|
|
If (Err <> 0) THen
|
|
WScript.Echo "ERROR Trying to get site 1 root app"
|
|
WScript.Echo "Error " & Err.Number & " [" & Hex(Err.Number) & "]"
|
|
WScript.Quit(Err.Number)
|
|
End If
|
|
Site1RootApp.AppPoolId = "DefaultAppPool"
|
|
Site1RootApp.SetInfo
|
|
|
|
WScript.Echo
|
|
WScript.Echo "FINISHED: All default app pool configuration has been created" |