Reconfigure the Windows Firewall settings

Microsoft.Windows.Server.Essentials.FirewallConfigurationRecovery (Recovery)

Reconfigures the Windows Firewall settings

Element properties:

TargetMicrosoft.Windows.Server.Essentials.ComputerTHClass
MonitorMicrosoft.Windows.Server.Essentials.FirewallConfiguration
Reset MonitorTrue
RemotableTrue
Timeout300
CategoryCustom
Enabledtrue
AccessibilityInternal

Member Modules:

ID Module Type TypeId RunAs 
Module_FirewallConfigurationRecovery WriteAction System.CommandExecuter Default

Source Code:

<Recovery ID="Microsoft.Windows.Server.Essentials.FirewallConfigurationRecovery" Accessibility="Internal" Enabled="true" Target="Microsoft.Windows.Server.Essentials.ComputerTHClass" Monitor="Microsoft.Windows.Server.Essentials.FirewallConfiguration" ResetMonitor="true" ExecuteOnState="Error" Remotable="true" Timeout="300">
<Category>Custom</Category>
<WriteAction ID="Module_FirewallConfigurationRecovery" TypeID="System!System.CommandExecuter">
<ApplicationName>%windir%\System32\WindowsPowerShell\v1.0\powershell.exe</ApplicationName>
<WorkingDirectory/>
<CommandLine>-c "Add-Type -AssemblyName 'AlertFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35','WssgCertMgmt, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'; $AlertManager = New-Object Microsoft.WindowsServerSolutions.NetworkHealth.AlertFramework.LocalAlertManager; $AlertManager.Connect([TimeSpan]::FromSeconds(90)); $Alert = $AlertManager.GetLocalAlert('ConnectivityFeature','FirewallConfiguration'); if ($Alert -ne $null -and $Alert.IsRepairDefined -and $Alert.IsRepairable) { $Alert.RepairAsync() } Start-Sleep 5; $AlertManager.Disconnect()"</CommandLine>
<TimeoutSeconds>60</TimeoutSeconds>
<RequireOutput>true</RequireOutput>
</WriteAction>
</Recovery>