Reconfigure the Web Server

Microsoft.Windows.Server.2012.Essentials.IisConfigurationRecovery (Recovery)

Reconfigures the Web Server

Element properties:

TargetMicrosoft.Windows.Server.2012.Essentials.SBS8
MonitorMicrosoft.Windows.Server.2012.Essentials.IisConfiguration
Reset MonitorTrue
RemotableTrue
Timeout300
CategoryCustom
Enabledtrue
AccessibilityInternal

Member Modules:

ID Module Type TypeId RunAs 
Module_IisConfigurationRecovery WriteAction System.CommandExecuter Default

Source Code:

<Recovery ID="Microsoft.Windows.Server.2012.Essentials.IisConfigurationRecovery" Accessibility="Internal" Enabled="true" Target="Microsoft.Windows.Server.2012.Essentials.SBS8" Monitor="Microsoft.Windows.Server.2012.Essentials.IisConfiguration" ResetMonitor="true" ExecuteOnState="Error" Remotable="true" Timeout="300">
<Category>Custom</Category>
<WriteAction ID="Module_IisConfigurationRecovery" TypeID="System!System.CommandExecuter">
<ApplicationName>%windir%\System32\WindowsPowerShell\v1.0\powershell.exe</ApplicationName>
<WorkingDirectory/>
<CommandLine>-c "[System.Reflection.Assembly]::LoadFrom($env:ProgramFiles + '\Windows Server\Bin\AlertFramework.dll'); [System.Reflection.Assembly]::LoadFrom($env:ProgramFiles + '\Windows Server\Bin\WssgCertMgmt.dll' ); $AlertManager = New-Object Microsoft.WindowsServerSolutions.NetworkHealth.AlertFramework.LocalAlertManager; $AlertManager.Connect([TimeSpan]::FromSeconds(90)); $Alert = $AlertManager.GetLocalAlert('ConnectivityFeature','IisConfiguration'); if ($Alert -ne $null -and $Alert.IsRepairDefined -and $Alert.IsRepairable) { $Alert.RepairAsync() } $AlertManager.Disconnect()"</CommandLine>
<TimeoutSeconds>60</TimeoutSeconds>
<RequireOutput>true</RequireOutput>
</WriteAction>
</Recovery>