Данная часть является продолжением рассказа о публикации сайтов MOSS, вся чать посвящена настройке ISA Server 2006.
В связи с тем, что в правилах ISA Server уже используется Listner с портом 443 (для OWA), необходимо открыть на сервере еще один порт для SSL. Делается это следующим образом:
/////UPDATE: Проще и приятней, на мой взгляд, работать с PowerShell, поэтому:
Скрипт для подключения к COM объекту ISA Server ISAcom.ps1:
param([string]$Name="*")
$Root = New-Object -comObject "FPC.Root"
if( $root.Arrays.Count -gt 0)
{
$root.Arrays|?{$_ -like $name}
}
else
{
if ($name -eq "*")
{
$name = read-host "Enter name of the ISA array"
}
$root.Arrays.Connect($name)
}
Запускаем на ISA. Подключаемся:
$isa = .\ISAcom.ps1
Смотрим какие порты уже открыты:
$isa.ArrayPolicy.WebProxy.TunnelPortRanges
Добавляем нужный нам:
$isa.ArrayPolicy.WebProxy.TunnelPortRanges.AddRange("SSL 44343", 44343, 44343)
Принять изменения:
$isa.ApplyChanges()
///////Close UPDATE
Зайти на сервер и запустить скрипт:
AddTPRange.vbs
Option Explicit
' Define the constants needed.
Const Error_TypeMismatch = &HD
Const Error_AlreadyExists = &H800700B7
Const Error_OutOfRange = &H80070057
Main(WScript.Arguments)
Sub Main(args)
If(args.Count <> 2) Then
Usage()
Else
AddTPRange args(0), args(1)
End If
End Sub
Sub AddTPRange(newRangeName, newTunnelPort)
' Create the root object.
Dim root ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
'Declare the other objects needed.
Dim isaArray ' An ISA Server array object
Dim tpRanges ' An FPCTunnelPortRanges collection
Dim newRange ' An FPCTunnelPortRange object
Dim port ' An Integer
' Get a reference to the array and to
' the collection of tunnel port ranges.
Set isaArray = root.GetContainingArray
Set tpRanges = isaArray.ArrayPolicy.WebProxy.TunnelPortRanges
' Create a new tunnel port range.
On Error Resume Next
port = CDbl(newTunnelPort)
If Err.Number = Error_TypeMismatch Then
WScript.Echo "A number must be entered for the port to be included."
WScript.Quit
End If
Err.Clear
Set newRange = tpRanges.AddRange(newRangeName, port, port)
If Err.Number = Error_AlreadyExists Then
WScript.Echo "A port range with the name specified already exists."
WScript.Quit
ElseIf Err.Number = Error_OutOfRange Then
WScript.Echo "The range of permissible ports is from 1 through 65535."
WScript.Quit
End If
On Error GoTo 0
' Save the changes to the collection of tunnel port ranges
' with fResetRequiredServices set to True to restart the Firewall service.
tpRanges.Save True
WScript.Echo "Done!"
End Sub
Sub Usage()
WScript.Echo "Usage:" & VbCrLf _
& " " & WScript.ScriptName & " RangeName TunnelPort" & VbCrLf _
& "" & VbCrLf _
& " RangeName - Name of the tunnel port range to be added" & VbCrLf _
& " TunnelPort - Port to be included in the new tunnel port range"
WScript.Quit
End Sub
Пример команды: CScript AddTPRange.vbs "SSL 44343" 43343
Смотрим, открылся ли порт: CScript ShowTPRanges.vbs
Sub ShowTPRanges()
' Create the root object.
Dim root ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
' Declare the other objects needed.
Dim isaArray ' An FPCArray object
Dim tpRanges ' An FPCTunnelPortRanges collection
Dim tpRange ' An FPCTunnelPortRange object
' Get references to the array object
' and the collection of tunnel port ranges.
Set isaArray = root.GetContainingArray()
Set tpRanges = isaArray.ArrayPolicy.WebProxy.TunnelPortRanges
' If at least one tunnel port range is defined in the
' collection, display the names and port ranges for all
' the tunnel port ranges.
If tpRanges.Count > 0 Then
For Each tpRange In tpRanges
WScript.Echo tpRange.Name & ": " & tpRange.TunnelLowPort & _
"-" & tpRange.TunnelHighPort
Next
Else
WScript.Echo "No tunnel port ranges are defined."
End If
End Sub

2 коммент.:
Ошибку выкидывает скрипт.Причём какие то странные.Если считать без пробелов между строками
Стр 2 символ 1 - в любой кодировке не нравится буква O
Стр 58 символ 24 - тут вобще на пробел ругается
---------------------------
Windows Script Host
---------------------------
Script:C:\Documents and Settings\admin\Desktop\port.vbs
Line: 58
Char: 23
Error: Expected end of statement
Code: 800A0401
Source: Microsoft VBScript compilation error
---------------------------
OK
---------------------------
Не должен вроде бы. Взят с офиц. руководств. Есть альтернатива (причем значительно проще) на PowerShell, - обновил пост.
Отправить комментарий