Get-ISAArray

Сейчас решал одну задачку по ISA, решил поработать с ним через PoSH, вот чего нарисовал походу🙂

Небольшая функция для подключения к ISA Server:

Function Get-ISAArray ([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 = Get-ISAArray MyISAServer

Смотрим что можно с ним сотворить:

PS D:\PowerShell> $isa | Get-Member


   TypeName: System.__ComObject#{cfceec97-7bc5-4890-aa02-35e4e48304a6}

Name                           MemberType Definition
----                           ---------- ----------
ApplyChanges                   Method     void ApplyChanges (bool, bool)
CancelWaitForChanges           Method     void CancelWaitForChanges ()
CanImport                      Method     bool CanImport (IUnknown, bool)
DiscardChanges                 Method     void DiscardChanges ()
...
AdminSecurity                  Property   IFPCAdminSecurity AdminSecurity () {get}
AdminVersionMajor              Property   int AdminVersionMajor () {get}
AdminVersionMinor              Property   int AdminVersionMinor () {get}
Alerts                         Property   IFPCAlerts Alerts () {get}
ArrayPolicy                    Property   IFPCArrayPolicy ArrayPolicy () {get}
Cache                          Property   IFPCCache Cache () {get}
ChangesMade                    Property   bool ChangesMade () {get}
...

Ну и дальше делаем чегонить нужное…🙂

PS D:\PowerShell> $isa.ArrayPolicy.PolicyRules | Format-Table name, enabled, descr* -AutoSize

Name                                 Enabled Description
----                                 ------- -----------
DNS query                               True Разрешает DNS запросы в интернет. Необходимо для
Microsoft Newsgroups                   False Необходимо для возможности чтения групп новостей
Exchange 2003 Publishing SMTP Server    True Необходимо для отправки/получения почты в/из инт
Windows messenger                      False Временное правило для тестирования Windows Messe
Lotus Sametime                         False Временное правило для тестирования Lotus Sametim
...

Вроде доступно всё тоже что и через гуевую консоль и даже чуть больше🙂

PS: Необязательно работать с самого ISA сервера, достаточно поставить консоль управления на клиентском компе, и указать имя сервера при вызове Get-ISAArray

Опубликовано в ISA, PowerShell, Practice, Scripting. Комментарии к записи Get-ISAArray отключены
%d такие блоггеры, как: